TinyMCE从错误的目录加载lang / plugins / theme

时间:2011-09-06 19:50:39

标签: jquery asp.net-mvc-3 tinymce textarea

我在使用TinyMCE时遇到了麻烦。在搜索lang,theme和plugins时,应该查看基本脚本文件所在的目录。但是,它不是这样做,而是使用当前加载的页面作为搜索的根。我正在查看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();
    }

1 个答案:

答案 0 :(得分:7)

我正在处理与我正在处理的“单页”应用程序相同的问题。用于加载JS for tinymce的JS是在另一个目录中,这给了我你正在谈论的相同问题。

我在这里学到的一些东西可能会对你有帮助。

  window.tinyMCEPreInit = {
      suffix : '_1',
      base : '/static/js/plugins/tiny_mce', // your path to tinyMCE
      query : 'something'
  };

如果遇到这些问题,“基础”参数至关重要。

另外,我使用的是jquery插件。但是,如果手动同时包含jquery插件和tinymce,则jquery插件的script_src似乎被忽略。由于某些未知原因,这也很重要。

最后,就我而言,我使用后缀作为cachebusting的一部分。当我们进行构建时,所有JS和CSS文件都在文件扩展名之前添加了哈希。不幸的是,我认为tinymce开发人员对后缀设置有不同的想法,因此lang和模板css文件不遵守它,导致404s。 lang的快速修复是将语言参数设置为'en_1',其中'_1'是cacehbuster后缀。最后,我必须手动编辑主题文件以包含tinymce.suffix arg。

希望能帮到你。我花了6个小时才到达这一点。