2012-03-05 9 views
2

tinymceが頭にあり、domの前にロードされているときはすべてokです。しかし、私はajax(jquery.getScript())でjavascriptを読み込もうとすると動作しません。 私はユーザーがコンテンツ領域をクリックしたときに活性化するので、domは準備ができている必要があります。 私は頭文字のタグではなく、tinymceコードを変更せずに動作させたいのですが、スクリプトは約65kb(gzipped)です。私のコードは次のようになります:ダイナミクスを動的にロードする

window.tab_offers.show_edit = function() { 
    if (init == true) { 
     tinymce.execCommand('mceToggleEditor', false, 'offers-tab-content'); 
    } else { 
     tinyMCE.init({ 
      mode : "exact", 
      elements: "offers-tab-content", 
      language : window.PAGE_LANG, 
      theme : "advanced", 
      content_css: site_url('css/parim/tinymce.css'), 
      plugins : "autoresize", 
      width: $('#offers-tab-content').width() + 18, 
      theme_advanced_buttons1 : "cancelforecolor,backcolor,separator,bold,italic,underline,strikethrough,separator,bullist,numlist,separator,undo,redo,separator,hr,removeformat,separator,charmap,separator,link,unlink", 
      theme_advanced_buttons2 : "", 
      theme_advanced_buttons3 : "" 
     }); 
    init = true; 
    } 
}; 
+0

プラグインを設定せずにボタンを設定しないとどうなりますか?初期化されますか?どこにtiny_mce.jsをロードしますか? – Thariama

+0

head(scriptタグ)にtiny_mce.jsをロードすると、everethingは機能しますが、tiny_mce.jsをajax(getScript())でロードしようとすると、tinymceは何もロードしません。おそらく、ドムを準備していると思います。私は、ドームがイベントなしで準備ができていることを盗聴しようとします。 – Kristian

答えて

4

問題が見つかりました。 Tinymceはscriptタグから "baseURL"を取得しようとしますが、dynamicllyにロードすると一致しません。それはページ上のすべてのスクリプト要素を繰り返し処理し、そのようにチェックします:/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(n.src)。ですから、私はbaseURLパラメータをオーバーライドしました。 tinyMCE.baseURL = "http://mysite.com/path_to_tinymce/"; tinyMCE.init({...、...});

関連する問題