我在使用 TinyMCE 时遇到问题。当它搜索语言、主题和插件时,它应该在基本脚本文件所在的目录中查找。然而,它并没有这样做,而是使用当前加载的页面作为搜索的根。我正在查看 src 文件中的“loadScripts”函数,但更改路径似乎没有提供任何有意义的效果。
这是未经修改的 loadScripts 函数供您查看:
// Load scripts
function loadScripts() {
if (s.language)
sl.add(tinymce.baseURL + '/langs/' + s.language + '.js');
if (s.theme && s.theme.charAt(0) != '-' && !ThemeManager.urls[s.theme])
ThemeManager.load(s.theme, 'themes/' + s.theme + '/editor_template' + tinymce.suffix + '.js');
each(explode(s.plugins), function(p) {
if (p && p.charAt(0) != '-' && !PluginManager.urls[p]) {
// Skip safari plugin for other browsers
if (!isWebKit && p == 'safari')
return;
PluginManager.load(p, 'plugins/' + p + '/editor_plugin' + tinymce.suffix + '.js');
}
});
// Init when que is loaded
sl.loadQueue(function() {
if (!t.removed)
t.init();
});
};
loadScripts();
}
最佳答案
我正在处理的“单页”应用程序遇到了同样的问题。为tinymce加载JS的JS位于其他目录中,这给了我你所讨论的同样的问题。
我在这里学到的一些东西可能会对您有所帮助。
window.tinyMCEPreInit = {
suffix : '_1',
base : '/static/js/plugins/tiny_mce', // your path to tinyMCE
query : 'something'
};
如果您遇到这些问题,“基本”参数至关重要。
此外,我正在使用 jquery 插件。但是,如果您手动包含 jquery 插件和 tinymce,则 jquery 插件的 script_src 似乎会被忽略。由于某些未知的原因,这也很重要。
最后,就我而言,我使用该后缀作为缓存清除的一部分。当我们进行构建时,所有 JS 和 CSS 文件都会在文件扩展名之前添加一个哈希值。不幸的是,我认为tinymce开发人员对后缀设置有不同的想法,因此lang和模板css文件不遵守它,导致404。 lang 的快速修复是将语言参数设置为“en_1”,其中“_1”是 cacehbuster 后缀。最后,我必须手动编辑主题文件以包含tinymce.suffix arg。
希望对您有帮助。我花了6个小时才到达这一点。
关于jquery - TinyMCE 从错误的目录加载 lang/plugins/theme,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7325364/