2014-11-16 149 views
2

我在Ruby on Rails上使用Tinymce-Rails並試圖找出爲什麼TinyMCE文本編輯框不工作,除非我刷新頁面。只在頁面刷新時加載TinyMCE

所以我已經遵循所有的文件來獲得它的工作......但唯一的問題是,它只適用於我第一次刷新頁面。下面是是負責初始化TinyMCE的的JavaScript

var ready; 

ready = function(){ 
    tinyMCE.init({ 
    selector: "textarea.tinymce", 
    toolbar: ["styleselect | undo redo | bold italic underline | bullist | outdent indent"], 
    menubar: false, 
    statusbar: false, 
    style_formats: [{"title":"Headers","items":[{"title":"Header 1","format":"h1"},{"title":"Header 2","format":"h2"},{"title":"Header 3","format":"h3"}]},{"title":"Inline","items":[{"title":"Bold","icon":"bold","format":"bold"},{"title":"Italic","icon":"italic","format":"italic"},{"title":"Underline","icon":"underline","format":"underline"},{"title":"Code","icon":"code","format":"code"}]}], 
    content_css: "/assets/tinymce.css" 
    }); 

}; 

$(document).ready(ready); 
$(document).on('page:load', ready); 

有誰知道爲什麼,當我瀏覽到該頁面的第一次,這是不實際工作,但只適用於第二次?

回答

7

我偶然發現了你的問題,因爲我有同樣的問題。花了大約一個小時後,我發現turbolinks是造成問題的原因之一。來自官方的github,我引用:

與其讓瀏覽器重新編譯JavaScript和每個頁面變化之間CSS 的,它使當前頁面實例活着, 僅替換身體和標題的頭部

我不能說出確切的原因,但確實有效果。

要禁用turbolinks,我跟着這個link

1)從你的Gemfile「寶石‘turbolinks’」並運行包。

2)從application.js中刪除「// = require turbolinks」。

3)刪除佈局中的任何「data-turbolinks-track」屬性。

+1

我有同樣的問題,但我已經禁用turbolinks,但仍然tinyMCE不會加載第一次,只有刷新後?有任何想法嗎? –

+0

只有通過執行第2步和第3步,它纔有效。 –