Я обновляю некоторый устаревший код для поддержки CKEditor из FCKEditor, в классическом asp. По профессии я не классический дизайнер жерехов, поэтому я летаю здесь, рядом с штанами. Ранее мы использовали Javascriptspellcheck для проверки орфографии. У меня проблема связана с этим старым кодом:
function doSpellCheck() {
var oSpell = new JavaScriptSpellCheck();
oSpell.callBack = function() {
oEditor.SetHTML($('POST_MESSAGE').value);
}
oEditor.UpdateLinkedField();
oSpell.spellCheckWindow('POST_MESSAGE');
}
oEditor - это экземпляр FCKEditor, определенный в функции fckeditor_oncomplete (). Новый код, который я пытаюсь использовать, выглядит следующим образом:
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 (); нужен идентификатор textarea экземпляра ckeditor. Я попытался следовать указаниям 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