3

我试图在加载库后启动tinyMCE,createElement但它不起作用!

也许我忘记了什么,我不知道......

基本上功能是:

scriptLoad = false;    

function tinyInit() {
    if (!scriptLoad) {
        var s = document.createElement('script');
        s.src = '/tiny_mce/tiny_mce.js';
        s.type = 'text/javascript';
        document.body.appendChild(s);
        scriptLoad = true;
    }

    // wait until load
    if (typeof tinyMCE == 'undefined') {
        window.setTimeout(function() {
            tinyInit();
        }, 120);
    }
    else {
        // alright! bring it to me
        tinyMCE.init({
            mode: 'textareas',
            theme: 'simple'
        });
    }
}

我已经用 Firebug 进行了测试,并且该库存在。更改 的值tinyMCE.baseURL不起作用,因为它具有正确的值。

我感谢任何帮助!

谢谢


解决!

我正在查看源代码,发现 init 创建了两个默认属性:主题和语言。我不知道为什么当库由createElementAJAX 加载时他们不扩展我们的设置。所以解决方案是在init上设置这两个属性:

scriptLoad = false;    

function tinyInit() {
    if (!scriptLoad) {
        var s = document.createElement('script');
        s.src = '/tiny_mce/tiny_mce.js';
        s.type = 'text/javascript';
        document.body.appendChild(s);
        scriptLoad = true;
    }

    // wait until load
    if (typeof tinyMCE == 'undefined') {
        window.setTimeout(function() {
            tinyInit();
        }, 120);
    }
    else {
        // alright! bring it to me
        tinyMCE.init({
            mode: 'textareas',
            theme: 'simple',
            language: 'en'
        });
    }
}
4

1 回答 1

1

您想以这种方式加载 tinyMCE 压缩器版本,而不是常规的 tiny_mce.js 文件。

阅读此处了解更多详情:http ://www.tinymce.com/wiki.php/Compressors

基本上它无法像您尝试的那样工作的原因是因为它需要以各种顺序加载某些 javascript 文件。

于 2012-07-04T14:35:42.133 回答