Почему tinyMCE не запускается после загрузки с помощью createElement? - PullRequest
3 голосов
/ 27 июля 2011

Я пытаюсь запустить 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 создает два свойства по умолчанию: тема и язык. Я не знаю, почему они не расширяют наши настройки, когда библиотека загружается createElement или AJAX. Таким образом, решение устанавливает эти два свойства в 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'
        });
    }
}

1 Ответ

1 голос
/ 04 июля 2012

Вы хотите загружать версию компрессора tinyMCE таким образом, а не обычный файл tiny_mce.js.

Подробнее читайте здесь: http://www.tinymce.com/wiki.php/Compressors

По сути, причина того, что это не сработает, как вы пытались, заключается в том, что ему нужно загружать определенные файлы javascript в различных порядках.

...