2012-03-05 83 views
2

當TinyMCE的是頭部和DOM前負荷,一切正常。但是,如果我會試着用Ajax來加載JavaScript(jquery.getScript())這是行不通的。 我initalizing TinyMCE的,當用戶點擊內容區域,所以DOM必須準備好即可。 我希望得到它的工作,而不會改變TinyMCE的代碼,而不是在頭標記,導致腳本約爲65KB(gzip壓縮)。我的代碼如下所示:加載TinyMCE的動態

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 2012-03-05 10:34:09

+0

當我加載頭(腳本標籤)tiny_mce.js,everething工程,但是當我嘗試加載ajax(getScript())tiny_mce.js時,tinymce加載任何東西。猜猜它可能已經與dom準備好了待辦事項。我會盡量愚弄dom已經準備好而沒有事件發生。 – Kristian 2012-03-05 10:59:58

回答

4

發現問題。 Tinymce試圖從腳本標記中獲取「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({...,...});