TinyMCE仅在页面刷新时加载

Lew*_*uce 2 javascript jquery ruby-on-rails

我正在使用带有Ruby on Rails的Tinymce-Rails并试图弄清楚为什么除非我刷新页面,否则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);
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么当我第一次浏览页面时这实际上没有工作,但只能第二次工作?

Jay*_*rio 7

因为我有同样的问题,我偶然发现了你的问题.花了大约一个小时后,我发现turbolinks是导致问题的那个.从官方github,我引用:

它不是让浏览器在每个页面更改之间重新编译JavaScript和CSS,而是使当前页面实例保持活动状态并仅替换主体和头部中的标题

我不知道确切的原因,但它确实产生了影响.

要禁用turbolinks,我按照此链接

1)从您的Gemfile中删除"gem"turbolinks""并运行bundle.

2)从application.js中删除"// = require turbolinks".

3)删除布局中的所有"data-turbolinks-track"属性.