Моя проблема в том, что я использую плагин CKEditor 3.4 для jQuery, и он дает мне ошибку в IE 7 + 8 при выполнении вызова $ (selector) .val (html) в редакторе:
Ошибка:
'this. $. innerHTML' равен нулю или не является объектом
... который при запуске в отладчике указывает на эту строку кода в огромном CKEditor.js:
getHtml:function(){var i=this.$.innerHTML;return c?i.replace(/<\?[^>]*>/g,''):i;}
... что переводится как в источнике:
getHtml : function()
{
var retval = this.$.innerHTML;
// Strip <?xml:namespace> tags in IE. (#3341).
return CKEDITOR.env.ie ? retval.replace( /<\?[^>]*>/g, '' ) : retval;
},
Мой обидный код (урезанный, но все еще выдающий ошибку):
var editor_data = $("textarea#body").val();
$("textarea#body").val(editor_data);
... и код textarea для потомков:
<textarea name="body" rows="15" cols="50" class="wysiwyg" id="body"></textarea>
Я попытался воспроизвести в jsFiddle в IE8, но странно то, что он работает так, как задумано. Я хотел бы также предоставить рабочий образец, но я, к сожалению, не могу по независящим от меня причинам.
Я также пробовал это исправление, и оно устранило проблему с ошибкой, но после этого setData не работало должным образом и просто переписало содержимое редактора ни с чем. Я признаю эту проблему + исправление немного над моей головой ...: http://dev.ckeditor.com/ticket/4566
(Извините, длинный пост: S) Я также пытался использовать прямой JavaScript API в CKEditor (отказавшись от интеграции с jQuery), и он выдал ту же ошибку.
У кого-нибудь есть что-то, что они хотели бы, чтобы я попытался решить эту проблему, или есть предположения, что это может быть? Было бы очень признательно!