2014-11-16 114 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步,它才有效。 –