我安装了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/",
但它们对上面的文件没有影响。
指教?感谢
答案 0 :(得分:89)
我遇到了同样的问题,如果我们能够使用 document_base_url 指定基本网址,则可以轻松解决。
或者,我可以在初始化tinymce之前指定基本URL。
tinyMCE.baseURL = "URL_TO/tinymce/jscripts/tiny_mce/";// trailing slash important
tinyMCE.init({
mode : "textareas",
theme : "simple"
});
TinyMCE现在工作正常。
答案 1 :(得分:9)
您可以在初始化tinyMCE之前放置以下代码来覆盖tinyMCE的基本URL。
var tinyMCEPreInit = {
suffix: '',
base: '/tinymce/',
query: ''
};
如果您已经从合并的源加载了tinyMCE并且未正确找到基本路径,那么这很有用。
答案 2 :(得分:8)
据此: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"或" ... // server / site /"它可以是:
" ... //服务器/网站/ JS ..." OR" ... // server / site // js ..."。
答案 3 :(得分:5)
如果您正在使用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/
答案 4 :(得分:2)
根据TinyMCE 4.x文档,您可以在init期间指定文档基本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 才能完美地运作,否则您将获得绝对的网址。
了解更多详情: http://www.tinymce.com/wiki.php/Configuration:document_base_url
答案 5 :(得分:2)
使用grunt捆绑所有内容(github上的说明)然后您只需使用选项skin_url
tinymce.init({skin_url: window.location.origin + '/css/tinymce'})