【问题标题】:Attach a local mode to Ace Editor from CDN从 CDN 将本地模式附加到 Ace Editor
【发布时间】:2016-07-14 06:28:40
【问题描述】:

如果我从 CDN 加载 Ace 编辑器:
https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.3/ace.js

是否可以从其他位置下载模式:
http://hello.processing.org/js/vendor/ace/mode-processing.js

假设我下载了上面第二个链接中的模式。即使 Ace 通过 CDN 连接,我是否可以将其加载到我网站上的 Ace Editor 中?我怎样才能 附加此自定义模式?

我尝试了以下相关答案,但没有成功:
https://stackoverflow.com/a/17509307/1161948
https://stackoverflow.com/a/25216371/1161948

【问题讨论】:

    标签: ace-editor


    【解决方案1】:

    您显示的文件不是主题而是模式。您可以通过自己将脚本元素添加到该文件来使用它,或者使用ace.config.setModuleUrl 方法告诉ace 在下载"ace/mode/processing" 时使用哪个url@

    <script src=https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.3/ace.js></script>
    
    <div id=editor></div>
    <style >
      #editor {position: absolute; top: 0; bottom: 0; left: 0; right: 0}
    </style>
    <script>
      var editor = ace.edit("editor")
      ace.config.setModuleUrl("ace/mode/processing", "http://hello.processing.org/js/vendor/ace/mode-processing.js")
      editor.setOption("mode", "ace/mode/processing")
    </script>

    【讨论】:

    • 看起来像跨站点脚本,实际上浏览器阻止了它。所以,我下载文件并将其放在本地文件夹“ace/mode/mode-processing.js”中,然后我重写该行ace.config.setModuleUrl("ace/mode/processing", "/ace/mode/mode-processing.js");,它应该可以工作吗?我很难评估它是否在做任何事情 - 似乎常规 Java 模式更好。
    • 当您说添加脚本元素时,您的确切意思是什么?像这样...&lt;script src="http://hello.processing.org/js/vendor/ace/mode-processing.js&gt;&lt;/script&gt;?在这种情况下,我必须在代码中进行哪些更改才能从那里使用它?
    • 同上,但没有 ace.config.setModuleUrl 调用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多