Загрузка tinymce динамически - PullRequest
2 голосов
/ 05 марта 2012

Когда tinymce находится в голове и загружается раньше, чем все, все в порядке.Но если я попытаюсь загрузить javascript с помощью ajax (jquery.getScript()), это не сработает.Я инициализирую tinymce, когда пользователь щелкает область контента, поэтому dom должен быть готов.Я хотел бы, чтобы он работал без изменения кода tinymce, а не тега head, потому что сценарий составляет около 65 КБ (gzipped).Мой код выглядит так:

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 Ответ

4 голосов
/ 05 марта 2012

Нашел проблему.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 ({..., ...});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...