2011-09-06 18 views
3

TinyMCEに問題があります。 lang、theme、およびpluginsを検索しているときは、ベーススクリプトファイルが置かれているディレクトリを調べます。ただし、これを行う代わりに、現在読み込まれているページを検索のルートとして使用しています。 srcファイルの "loadScripts"関数を見ていますが、パスを変更しても意味のある効果が得られないようです。ここでTinyMCE不正なディレクトリからのlang/plugins/themeの読み込み

はあなたのレビューのための無修正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をロードするためのJSは別のディレクトリにあり、これは私があなたが話していたのと同じ問題を与えていました。

私がここで学んだことはあなたに役立つかもしれないことがいくつかあります。

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

これらの問題に取り掛かっている場合は、 'base'引数が重要です。

さらに、私はjqueryプラグインを使用していました。ただし、jqueryプラグインとtinymceの両方を手動で含めると、jqueryプラグインのscript_srcは無視されます。これは何らかの未知の理由でも重要です。

最後に、私の場合、私はキャッシュバスト処理の一部として接尾辞を使用します。ビルドを行うと、すべてのJSファイルとCSSファイルに、ファイル拡張子の前にハッシュが追加されます。残念ながら、私はtinymceの開発者は、接尾辞の設定のために別の考えを持っていたと思います。そのようなlangとテンプレートのCSSファイルはそれに従わず、結果として404になります。 langのクイックフィックスでは、言語引数を 'en_1'に設定し、 '_1'はcacehbusterサフィックスです。最後に、tinymce.suffix argを含むようにテーマファイルを手動で編集する必要がありました。

うまくいけば、

+1

私のバージョン2.1で動作しません。 – Stiger

関連する問題