持久化CKEDITOR 4.2 SCAYT启用/禁用状态

持久化CKEDITOR 4.2 SCAYT启用/禁用状态,ckeditor,Ckeditor,如果用户启用了SCAYT,我希望它在网页加载时保持启用状态。这可能意味着在cookie中持久化状态。最简单的方法是什么 如果有一种方法可以捕获CKEDITOR SCAYT enable/disable活动,或者如果有一种方法可以钩住save事件,那么也可以。我尝试了以下操作,但完全禁用了保存,并且没有生成日志消息 var editor = CKEDITOR.replace("ckeditor", { height: $(window).height() / 2 - 30, on: {

如果用户启用了SCAYT,我希望它在网页加载时保持启用状态。这可能意味着在cookie中持久化状态。最简单的方法是什么

如果有一种方法可以捕获CKEDITOR SCAYT enable/disable活动,或者如果有一种方法可以钩住save事件,那么也可以。我尝试了以下操作,但完全禁用了保存,并且没有生成日志消息

var editor = CKEDITOR.replace("ckeditor", {
  height: $(window).height() / 2 - 30,
  on: {
    save: function(evt) {
      Console.log("Saving...");
      this.customConfig.scayt_autoStartup = $.cookie("scayt_enabled", "enabled", { path: '/' });
    }
  }
});
我将以下内容放在config.js中:

config.scayt_autoStartup = $.cookie("scayt_enabled",  { path: '/' }) == "enabled";
CKEDITOR.editorConfig = function(config) {
  var scayt_enabled = $.cookie("scayt_enabled");
  var se = scayt_enabled=="true";
  config.scayt_autoStartup = se;
}

升级到当前版本的CKEDITOR后,它提供了一个
save
事件,使用cookie(通过JQuery)来实现这一点很容易

在我的编辑器脚本中:

var editor = CKEDITOR.replace("ckeditor", {
  save: function(evt) {
    var scaytEnabled = evt.editor.commands.scaytcheck.state==1;
    $.cookie("scayt_enabled", scaytEnabled.toString(), { path: '/' });
  }
}
在config.js中:

config.scayt_autoStartup = $.cookie("scayt_enabled",  { path: '/' }) == "enabled";
CKEDITOR.editorConfig = function(config) {
  var scayt_enabled = $.cookie("scayt_enabled");
  var se = scayt_enabled=="true";
  config.scayt_autoStartup = se;
}