TinyMCE 4.1.6编辑器有时不会出现在Chrome中

时间:2015-04-09 10:05:45

标签: google-chrome ruby-on-rails-4 tinymce-4

我发现自动使用Chrome时,有时我的rails webapp中的tinymce编辑器不会出现。发生这种情况时,我必须刷新页面才能显示。 IE和Firefox没有这样的问题。有什么想法吗?

我没有使用插件并试图解决问题(例如在此http://www.tinymce.com/forum/viewtopic.php?id=16402),但没有得到任何结果。我正在使用自定义皮肤

3 个答案:

答案 0 :(得分:2)

我假设您使用的是'tinymce-rails'。我有类似的问题,它与turbolinks有关。我解决它的方式是:

  1. 通过将<%= tinymce_assets %>添加到应用程序布局,确保页面加载了tiny-mce资产。

  2. 在您要使用它的页面上的$(document).ready'page:load'上删除并初始化tiny-mce。

    function initTinyMCE() {
        tinymce.remove();
        tinymce.init({
            selector: '<your-selector>',
            skin: 'lightgray'
        });
    }
    
    $(document).ready(function () {
        initTinyMCE()
    });
    document.addEventListener('page:load', function () {
        initTinyMCE()
    });
    
  3. 这对我有用。希望它有所帮助。

答案 1 :(得分:1)

这个问题与turbolinks有关,我试图将它禁用为tinymce textarea,但它无法正常工作。最后,我为所有网站完全禁用了turbolink:

<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => false %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => false %>

并在正文标记<body data-no-turbolink>

这解决了上述问题。

此外,由于禁用了turbolinks,网站的性能有所提升,特别是我没有看到任何 Flash无格式内容,这是我在应用中遇到的其他问题。

答案 2 :(得分:0)

感谢您的帮助。您的示例对我适用于PHP。

我就是这样。

tinymce.remove();

setTimeout(function () {
    tinymce.init({selector: '#textarea'});
}, 2000);

我不得不添加setTimeout()方法,因为直接不起作用。

每次必须更改文本区域的值时,我都会再次调用此方法来加载组件。