Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “浏览器后退/前进”按钮可加载多个编辑器窗体_Javascript_Ruby On Rails_Ckeditor_Ruby On Rails 5_Turbolinks - Fatal编程技术网

Javascript “浏览器后退/前进”按钮可加载多个编辑器窗体

Javascript “浏览器后退/前进”按钮可加载多个编辑器窗体,javascript,ruby-on-rails,ckeditor,ruby-on-rails-5,turbolinks,Javascript,Ruby On Rails,Ckeditor,Ruby On Rails 5,Turbolinks,我有一个在Rails 5中制作帖子的表单。我使用的是CKEditor文本编辑器,效果很好。但是,每次单击浏览器的“前进”或“后退”按钮时,都会将一个新的文本编辑器堆叠起来。参考:我使用的是“galetahub”中的CKEditor gem 我的问题与此问题类似: 我认为这是涡轮链接的问题,但我不知道还有什么可以尝试。除了完全禁用TurboLink之外,我还尝试了: 在div和form字段中插入“data no turbolink”和“data:{turbolinks:false}” 我尝试了从

我有一个在Rails 5中制作帖子的表单。我使用的是CKEditor文本编辑器,效果很好。但是,每次单击浏览器的“前进”或“后退”按钮时,都会将一个新的文本编辑器堆叠起来。参考:我使用的是“galetahub”中的CKEditor gem 我的问题与此问题类似:

我认为这是涡轮链接的问题,但我不知道还有什么可以尝试。除了完全禁用TurboLink之外,我还尝试了:

  • 在div和form字段中插入“data no turbolink”和“data:{turbolinks:false}”
  • 我尝试了从gem到“init_ckeditor”js文件的标准实现:

  • 以及以下各项的变化:

    document.addEventListener('turbolinks:before-cache', function() 
    {
      CKEDITOR.replace('text_form')
    });
    
    and
    
    $(document).on("turbolinks:load", function() {
      CKEDITOR.replace('text_form')
    });
    (Both separately and together.)
    
  • 这是宝石:

        gem 'ckeditor', github: 'galetahub/ckeditor'
    
    以下是表单和字段:

        <%= form_with model: @article, local: true, html:{multipart: true} do |form| %>
    
          <div class="text-form">
            <%= form.cktext_area :text, class: 'ckeditor', id: 'text_form' %>
          </div>
    
        <% end %>
    

    任何帮助都将不胜感激。很久以来,我一直在寻找这个问题的答案。通常,我能够自己解决问题,但这让我绞尽脑汁。

    加载CK编辑器长度。 然后在长度为0时添加
    如果(CKEDITOR.Instances['text\u form']==null)CKEDITOR.replace('text\u form')

    这对我不起作用。我是否需要用$(document)包装此方法。准备好了吗。。。或者类似的东西。
        <%= form_with model: @article, local: true, html:{multipart: true} do |form| %>
    
          <div class="text-form">
            <%= form.cktext_area :text, class: 'ckeditor', id: 'text_form' %>
          </div>
    
        <% end %>
    
        CKEDITOR.replace('text_form')