我正在更新一些遗留代码以支持来自FCKEditor的CKEditor,在经典的asp中。我不是一个经典的asp设计师,所以我在这里坐在裤子的座位上。我们以前使用Javascriptspellcheck来进行拼写检查。我遇到的问题与这个旧代码有关:
function doSpellCheck() {
var oSpell = new JavaScriptSpellCheck();
oSpell.callBack = function() {
oEditor.SetHTML($('POST_MESSAGE').value);
}
oEditor.UpdateLinkedField();
oSpell.spellCheckWindow('POST_MESSAGE');
}
oEditor是fckeditor_oncomplete()函数中定义的FCKEditor的实例。我试图使用的新代码如下:
function doSpellCheck() {
oSpellEditor = CKEDITOR.instances['POST_MESSAGE'].getData();
var oSpell = new JavaScriptSpellCheck();
oSpell.callBack = function() {
CKEDITOR.instances['POST_MESSAGE'].Setdata(oSpellEditor);
}
oSpell.spellCheckWindow('POST_MESSAGE');
}
我似乎面临的问题是JavaScriptSpellCheck();需要ckeditor实例的textarea id。我试图按照This Post中的说明和nemisj的回答,但我遇到了代码问题。在这种情况下,我并不是真正了解DOM或如何操作它。我知道这不是asp,创建ckeditor实例我使用自定义asp子来创建它,但这是我遇到麻烦的区域。
*编辑:找到答案。在我创建新CKEditor的地方,我需要添加文本区域属性,如下所示:
Set pageEditorTop = New CKEditor
' Change default textarea attributes
set textareaAttributes = CreateObject("Scripting.Dictionary")
textareaAttributes.Add "id", "POST_MESSAGE"
Set pageEditorTop.textareaAttributes = textareaAttributes
答案 0 :(得分:0)
您尝试使用的代码没有意义。
这是CKEditor原始代码的直接端口:
function doSpellCheck() {
var oEditor = CKEDITOR.instances['POST_MESSAGE'];
var oSpell = new JavaScriptSpellCheck();
oSpell.callBack = function() {
oEditor.setData($('POST_MESSAGE').value);
}
oEditor.updateElement();
oSpell.spellCheckWindow('POST_MESSAGE');
}