TinyMCE Paths, как указать, куда загружать такие вещи, как editor_plugin.js - PullRequest
54 голосов
/ 10 декабря 2010

Я установил 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/",

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

посоветуйте? Спасибо

Ответы [ 6 ]

89 голосов
/ 19 марта 2013

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

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

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

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

TinyMCE теперь работает нормально.

9 голосов
/ 18 ноября 2014

Согласно этому: 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 у меня есть корневой каталог проекта. Заменить функцию необходимо для замены двойной косой черты на одну косую черту, потому что другой сервер может вернуть «... // сервер / сайт« ИЛИ »... // сервер / сайт /» и это может быть: "... // сервер / сайт / js ..." ИЛИ "... // сервер / сайт // js ...".

9 голосов
/ 09 июня 2011

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

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

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

5 голосов
/ 02 июня 2011

Если вы используете плагин 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/

2 голосов
/ 11 августа 2016

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

tinymce.init({skin_url: window.location.origin + '/css/tinymce'})
2 голосов
/ 22 октября 2015

Согласно документации TinyMCE 4.x, вы можете указать базовый URL документа во время инициализации.

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

...