有没有办法在tinymce iframe中加载外部javascript文件?

有没有办法在tinymce iframe中加载外部javascript文件?,javascript,jquery,tinymce,Javascript,Jquery,Tinymce,有没有一种简单的方法来加载将在TinyMCE iframe内部工作的外部javascript 我唯一发现的(可能就是答案)是: 但我不知道如何正确加载它,或者它是否能正常工作。我试图在tinymce.init指令之前和之后加载它,甚至在它内部,但似乎没有任何效果。只是想知道如何初始化“ScriptLoader”函数。您可以使用setup init configuration参数来使用ScriptLoader tinyMCE.init({ ... setup : function(ed

有没有一种简单的方法来加载将在TinyMCE iframe内部工作的外部javascript

我唯一发现的(可能就是答案)是:


但我不知道如何正确加载它,或者它是否能正常工作。我试图在
tinymce.init
指令之前和之后加载它,甚至在它内部,但似乎没有任何效果。只是想知道如何初始化“ScriptLoader”函数。

您可以使用setup init configuration参数来使用ScriptLoader

tinyMCE.init({
   ...
   setup : function(ed) {
      ed.onInit.add(function(ed, evt) {

        // Load a script from a specific URL using the global script loader
        tinymce.ScriptLoader.load('somescript.js');

        // Load a script using a unique instance of the script loader
        var scriptLoader = new tinymce.dom.ScriptLoader();

        scriptLoader.load('somescript.js');

      });
   }
});

为了使用jquery插件做到这一点,我需要这样做:

$('textarea').tinymce({
...
  setup: function(editor) {

    var scriptLoader = new tinymce.dom.ScriptLoader();
    scriptLoader.add("Your first script");
    scriptLoader.add("Your second script");
    scriptLoader.loadQueue();

    ...
  });
});

下面提到了另一种明确尝试的方法,现在在编辑器初始化之后,我们可以访问iframe的元素并在那里插入或js。请注意,如果您想用html源代码保存脚本路径,然后在侧体中添加脚本,否则我将在头部添加脚本,因为我只想预览这些内容

tinymce.init({
    ...,
    setup : function(ed){
  
              ed.on('init',function(){
                  console.log('Initialized')
                  var head = ed.dom.select('head')[0]
                  //for body //var body = ed.dom.select('body')[0]
                  ed.dom.add(
                            head,
                            'script',
                            {
                                src: "/path/to/file1.js",
                                type: 'text/javascript'
                            }
                        );
                  
                  ed.dom.add(
                            head,
                            'script',
                            {
                                src: "/path/to/file1.js",
                                type: 'text/javascript'
                            }
                        );
                  
                  
              })
              
          }
});

这样,一旦编辑器完全初始化,您就可以添加多个JS文件。

加载的脚本将使用
ScriptLoader
在父
窗口
上下文中执行。