【问题标题】:load tinymce on demand by using jquery使用 jquery 按需加载 tinymce
【发布时间】:2010-09-03 13:41:11
【问题描述】:

这是我的脚本:

$.ajaxSetup({async: false});
$.getScript('http://www.mydomain.com/dev/js/tinymce/tiny_mce.js', function(){
    tinyMCE.init({
        document_base_url : "http://www.mydomain.com/dev/js/tinymce/",
        [...],
    });
});
$.ajaxSetup({async: true});

它加载 tiny_mce.js 成功。但是在回调中初始化 tinymce 时,tinymce 会加载 2 个路径不正确的以下脚本:

http://www.mydomain.com/dev//langs/en.js
http://www.mydomain.com/dev//themes/advanced/editor_template.js

即使我是否使用 document_base_url,tinymce 仍然会在路径上方加载。

【问题讨论】:

标签: jquery tinymce


【解决方案1】:

我解决了这里写的问题:http://tinymce.moxiecode.com/forum/viewtopic.php?pid=23065#p23065

我现在通过 jQuery 动态加载 tinyMCE 的脚本是:

// JS_FOLDER = "http://mydomain.com/js"
function initTinyMCE(JS_FOLDER, selector)
{
    var path = JS_FOLDER + '/GlobalUI/tinymce';

    if (selector == undefined) selector = 'mceEditor';
    var initFunct = function() {
        tinyMCE.baseURL = path + '/jscripts/tiny_mce/'; // THE IMPORTANT LINE
        tinyMCE.init({
            mode: "specific_textareas",
            editor_selector: selector,
            width : "700px",
            theme: "advanced",

            theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,undo,redo,|,bullist,numlist,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect,forecolor,backcolor",
            theme_advanced_buttons2 : "",
            theme_advanced_buttons3 : "",
            theme_advanced_buttons4 : "",
            theme_advanced_resizing : true,

            // Example content CSS (should be your site CSS)
            content_css : path + "/css/custom_css.css"
        });
    }

    if(typeof tinyMCE == "undefined") {
        $.getScript(path + '/jscripts/tiny_mce/tiny_mce_src.js', function() {
            initFunct();
        });
    } else {
        initFunct();
    }         

【讨论】:

    【解决方案2】:

    我也遇到了这个问题,经过一天的工作,我找到了解决方案,只需将此代码添加到您的tinymce.init()方法之前:

     tinymce.dom.Event.domLoaded = true;
    

    这适用于我的情况,也可能对您有所帮助。

    更多详情请看这里:tiny mce can't be inited when load js dynamically

    【讨论】:

      猜你喜欢
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多