2011-09-06 70 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