Подтвердить что ты не робот

TinyMCE Paths, Как указать, где загружать такие вещи, как editor_plugin.js

Я установил TinyMCE, все отлично работало. Затем я использовал Google Closure для упаковки JavaScript моего сайта вместе с TinyMCE_src

Проблема, с которой я сталкиваюсь, заключается в том, что TinyMCE теперь вызывает:

plugins/paste/editor_plugin.js
themes/advanced/editor_template.js
langs/en.js

И те пути, которые используются, являются недопустимыми, они 404'ing

Как я могу сказать TinyMCE, куда идти, чтобы получить эти файлы?

Я пробовал:

relative_urls : false,
document_base_url : "http://www.site.com/path1/",

Но они не влияют на файлы выше.

Посоветуйте? Благодаря

4b9b3361

Ответ 1

У меня была такая же проблема, и ее можно было бы легко решить, если бы мы могли указать базовый url с помощью document_base_url.

В качестве альтернативы, я смог указать базовый url перед инициализацией tinymce.

tinyMCE.baseURL = "URL_TO/tinymce/jscripts/tiny_mce/";// trailing slash important

tinyMCE.init({
        mode : "textareas",
        theme : "simple"
});

Теперь TinyMCE отлично работает.

Ответ 2

Вы можете переопределить базовый url для tinyMCE, поместив следующий код перед инициализацией tinyMCE.

var tinyMCEPreInit = {
    suffix: '',
    base: '/tinymce/',
    query: ''
};

Это полезно, если вы уже загрузили tinyMCE из объединенного источника, а базовый путь не найден правильно.

Ответ 3

В соответствии с этим: http://www.tinymce.com/wiki.php/Configuration:theme_url

tinymce.init({
   ...
   theme_url: (document.location.pathname + '/js/tinymce/themes/modern/theme.js').replace("\/\/", "\/"),
   skin_url:  (document.location.pathname + '/js/tinymce/skins/lightgray/').replace("\/\/", "\/"),
   ...

Но нужно быть осторожным с путями. С помощью document.location.pathname у меня есть корневой каталог проекта. Заменить функцию на замену двойной косой черты одной косой чертой, потому что другой сервер может возвращать "...//сервер/сайт" ИЛИ "...//сервер/сайт/", и это может быть: "...//server/site/js..." OR "...//server/site//js...".

Ответ 4

Если вы используете плагин TinyMCE jQuery, вы можете загружать все из удаленного места, просто добавьте параметр script_url в свой код инициализации. Он будет загружать все оттуда, включая любые скрипты/изображения/и т.д.

$('textarea').tinymce({
    script_url: 'http://tinymce.moxiecode.com/js/tinymce/jscripts/tiny_mce/tiny_mce.js'
});

Ознакомьтесь с этой скрипкой, включая удаленно с сайта TinyMCE: http://jsfiddle.net/xgPzS/22/

Ответ 5

Объедините все, используя grunt (инструкции github), тогда вам просто нужно будет настроить, откуда загрузить все css с помощью опции skin_url

tinymce.init({skin_url: window.location.origin + '/css/tinymce'})

Ответ 6

В соответствии с документацией TinyMCE 4.x вы можете указать URL-адрес базы данных во время init.

tinymce.init({
        document_base_url: "http://www.example.com/path1/"
});

если вы используете CodeIgniter, просто используйте base_url()

tinymce.init({
        document_base_url: "<?php echo base_url() ?>"
});

Помните: relative_url должен быть true, чтобы работать отлично, иначе вы получите абсолютные URL-адреса.

Подробнее: http://www.tinymce.com/wiki.php/Configuration:document_base_url