动态加载tinymce

时间:2012-03-05 09:50:45

标签: javascript ajax tinymce

当tinymce在头部,并在dom之前加载时,一切正常。但是,如果我尝试使用ajax(jquery.getScript())加载javascript,它将无效。 当用户点击内容区域时,我正在使用tinymce,所以dom必须准备就绪。 我想让它工作而不改变tinymce代码而不是head标签,因为脚本大约是65kb(gzip)。我的代码如下所示:

window.tab_offers.show_edit = function() {
    if (init == true) {
        tinymce.execCommand('mceToggleEditor', false, 'offers-tab-content');
    } else {
        tinyMCE.init({
            mode : "exact",
            elements: "offers-tab-content",
            language : window.PAGE_LANG,
            theme : "advanced",
            content_css: site_url('css/parim/tinymce.css'),
            plugins : "autoresize",
            width: $('#offers-tab-content').width() + 18,
            theme_advanced_buttons1 : "cancelforecolor,backcolor,separator,bold,italic,underline,strikethrough,separator,bullist,numlist,separator,undo,redo,separator,hr,removeformat,separator,charmap,separator,link,unlink",
            theme_advanced_buttons2 : "",
            theme_advanced_buttons3 : ""
        });
    init = true;
    }
};

1 个答案:

答案 0 :(得分:4)

发现问题。 Tinymce试图从脚本标签中获取“baseURL”,但如果我将动态加载它,那么就没有匹配。它遍历页面上的每个脚本元素,并按如下方式进行检查:/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(n.src)。所以我刚刚覆盖了baseURL参数,如下所示:     tinyMCE.baseURL =“http://mysite.com/path_to_tinymce/”;     tinyMCE.init({...,...});