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/",
Но они не влияют на файлы выше.
Посоветуйте? Благодаря
Ответы
Ответ 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