Tinymce 微型mce罐';动态加载js时不能初始化

Tinymce 微型mce罐';动态加载js时不能初始化,tinymce,initialization,init,dynamic-loading,Tinymce,Initialization,Init,Dynamic Loading,我的tinyMCE有问题,当我把放在前面,把init code放在前面时,它工作正常。 init代码如下所示: tinyMCE.init({ mode : "specific_textareas", editor_selector : "tinyMceEditor", plugins : "inlinepopups

我的tinyMCE有问题,当我把
放在
前面,把init code放在
前面时,它工作正常。 init代码如下所示:

                    tinyMCE.init({
                        mode : "specific_textareas",
                        editor_selector : "tinyMceEditor",
                        plugins : "inlinepopups,advlink",
                        convert_urls : false,
                        theme : "advanced",
                        theme_advanced_buttons1 : "link,unlink",
                        width: "602",
                        height: "175",
                        theme_advanced_statusbar_location : "none"}); 
但是现在,我想推迟tiny_mce.js的加载,当用户第一次点击一个按钮时,tiny_mce.js将被加载,然后将
附加到
,然后使用前面的代码进行初始化工作,但这一次,它不会初始化tinyMCE编辑器,它只显示

谷歌搜索,但找不到与此相关的任何东西,有人遇到过这个问题吗

如有任何建议,将不胜感激

我查看了ChromeWebDeveloper工具,发现如果我动态加载tinymce.js,其他需要的js,如en.js、editor\u template.js、editor\u plugin.js等,将无法加载。即使我将这些js文件添加到动态加载中,tinymce仍然无法初始化



感谢您的帮助,我在firebug中观看了,我确实在append
之前加载了tinymce.js,经过一天的工作,终于找到了解决方案,只需将

 window.tinymce.dom.Event.domLoaded = true;
以前

 tinymce.init();

然后可以正确初始化tinymce。

我通过创建一个单独的咖啡脚本文件解决了这个问题。然后,我在下面声明了在视图中访问的具有窗口范围的函数

window.initialize_tiny_mce = () ->
  if (typeof tinymce != 'undefined' && tinymce != null)
    tinymce.remove();

  tinymce.init
    height: '180'
    menubar: false
    statusbar: false
    cleanup: true
    selector: '.new-tinymce-printable-html'
    plugins: [ 'autolink link image code lists advlist' ]
    toolbar: 'styleselect | bold underline italic | bullist numlist outdent indent | link image | code'
    browser_spellcheck: true
    setup: (editor) ->
      editor.on 'keyup', ->
        tinymce.triggerSave()
      editor.on 'change', ->
        console.log editor.getContent()
        return
      return
然后考虑到局部性,我调用了这个函数:

:coffeescript
  initialize_tiny_mce()

现在,动态创建的元素被分配了一个tinymce编辑器。

那么,单击按钮加载外部JS,在文档中添加一个textarea,然后按该顺序运行tinymce.init()?看到“是”,我就找到了解决方案。

只需在
tinymce.dom.Event.domloadded=true
之前添加
tinymce.init()
,它就可以工作了。很棒的发现!!此外,在调用init()-“tinymce.baseURL=”/static/js/tinymce/”;“更多信息:我在Require和主干包装中单击初始化tinymce时遇到问题,但仅在Internet Explorer中,甚至在ie10中。这就解决了问题。非常感谢。我两天来一直在寻找解决方案。。。谢谢哦,哇!是的,我已经看了好几天了。在这样的日子之前我们做了什么o) 非常感谢,谢谢!你好,先生,我来自未来两年。谢谢!你的回答救了我。
:coffeescript
  initialize_tiny_mce()