2011-09-06 32 views
3

我遇到了TinyMCE问题。当它搜索lang,主题和插件时,它应该查找基本脚本文件所在的目录。但是,不是这样做,而是使用当前加载的页面作为搜索的根。我正在查看src文件中的“loadScripts”函数,但更改路径似乎没有提供任何有意义的效果。TinyMCE从不正确的目录加载lang/plugins /主题

这里是您的评论未修改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(); 
    } 

回答

7

我/我有一个“单页”应用我工作的这个相同的问题。 JS为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参数

希望可以帮助您。花了6个小时才得到这个点。

+1

不适合我的版本2.1 – Stiger