Я работал над интеграцией средства проверки орфографии ASPNetSpell (http://www.aspnetspell.com/) в CKEditor (http://ckeditor.com/). Я наблюдаю некоторое тревожное поведение между IE 8+, FireFox 12 и Chrome 18.0.1025.152m.
Суть в том, что ASPNetSpell не может найти экземпляр CKEditor в Chrome, но может в IE и Firefox.
Я последовал рекомендации в документации ASPNetSpell по интеграции во «все основные редакторы HTML, включая FCKEditor, CKEditor, TinyMCE…»:
var spellinstance = new LiveSpellInstance();
spellinstance.Fields = "EDITORS";
spellinstance.ServerModel = "aspx";
spellinstance.DrawSpellImageButton();
Насколько я понимаю, когда вы устанавливаете для полей значение «EDITORS», это указывает клиентский скрипт для поиска всех IFrame.
Тем не менее, модальное диалоговое окно отображается в Chrome, и я вижу, что он отправляет запрос на сервер, но когда он возвращается к диалоговому окну, он ведет себя так, как будто не было полей для проверки орфографии. IE и Firefox будут вести себя таким образом, если у вас есть опечатка в ваших полях для проверки.
У меня есть следующие вопросы:
Обновление
Я отправил им в службу поддержки еще одно электронное письмо со ссылкой на этот пост. Надеюсь, ASPNETSPELL добавит немного опыта.
Пояснение
Мне известно, что ASPNETSPELL не поддерживает SCAYT (проверка орфографии при вводе) в текстовой области, используемой редактором. Функциональность, которую я ищу, - это явная проверка орфографии, выполняемая при нажатии кнопки.
Обновление №2
Я скачал последний пакет ASPNETSPELL, на который есть ссылка в ответе службы поддержки ASPNetSpell. Мне все еще не удается заставить это работать в Chrome (текущая версия сейчас 21.0.1180.89 м). Это будет работать при простой проверке текстовой области без прикрепленного экземпляра CKEditor.
Ниже показано, как сейчас выглядит мое представление Razor.
@using ASPNetSpell
@{
Layout = "~/_SiteLayout.cshtml";
Page.Title = "Welcome to my Web Site!";
}
@{
ASPNetSpell.Razor.SpellButton mySpellButton = new ASPNetSpell.Razor.SpellButton();
mySpellButton.InstallationPath = ("/Content/ASPNetSpellInclude");
mySpellButton.FieldsToSpellCheck = "myTextArea";
}
@Html.Raw(mySpellButton.getHtml())
Когда я комментирую эту строку, она работает.
$("#myTextArea").ckeditor();