CKEditor
宝石。它只用于管理页面。我只想在需要它的页面上使用它。我在中注释掉了链轮指令
application.js
// only load on required pages // require ckeditor/init
我把它添加到表单页面的顶部
<%= javascript_include_tag 'ckeditor/init' %>
然而,它只是有时起作用。如果我重新加载页面
然后加载脚本,但无法装饰文本框。没有控制台错误。
如果我重新加载页面
具有
如果我重新加载页面
它,导航到一个页面
具有
它,导航到一个页面
具有
[CKEDITOR]有关此错误的详细信息,请转到
http://docs.ckeditor.com/#!/guide/dev_errors-section-editor-destroy-iframe
这个链接说
描述:无法正确销毁编辑器,因为它在销毁编辑器之前已卸载。确保在将编辑器从DOM分离之前销毁它。
我敢肯定这是涡轮链接的问题。我会加一个
$(document).on 'turbolinks:load'
事件处理程序,但我不知道要使用什么DOM id,也不知道如何“初始化”或“销毁”CKEditor。
https://github.com/galetahub/ckeditor#turbolink-integration
ready = ->
$('.ckeditor_class').each ->
CKEDITOR.replace $(this).attr('id')
console.log("ck'd "+$(this).attr('id'))
$(document).ready(ready)
$(document).on('turbolinks:load', ready)
但它给出了一个控制台错误
未捕获引用错误:未定义CKEDITOR
我试过了
$(document).on 'turbolinks:load', ->
setTimeout ->
if CKEDITOR?
$('.ckeditor_class').each ->
CKEDITOR.replace $(this).attr('id')
, 1000
当你从一个
不
把它写在
有,但是当重新加载页面时
做
有了,它给出了控制台错误
Uncaught编辑器实例“question_prompt”已附加到所提供的元素。
无法知道它是否已初始化。前任:
CKEDITOR.instances
没有一个
length