Mój problem polega na tym, że używam wtyczki CKEditor 3.4 dla jQuery, i daje mi błąd w IE 7 + 8 podczas wykonywania $ (selektor). val (html) wezwanie redakcji:CKEditor + IE7 + 8 'zerowy lub nie obiekt' błąd
błąd: „. to $ innerHTML” jest null lub nie jest obiektem
... co jeśli jest uruchomiony w debugera, wskazuje na tej linii kodu w ogromnych CKEditor.js:
getHtml:function(){var i=this.$.innerHTML;return c?i.replace(/<\?[^>]*>/g,''):i;}
... co przekłada się to w źródle:
getHtml : function()
{
var retval = this.$.innerHTML;
// Strip <?xml:namespace> tags in IE. (#3341).
return CKEDITOR.env.ie ? retval.replace(/<\?[^>]*>/g, '') : retval;
},
Mój kod naruszającym przepisy (okrojony, ale nadal daje błąd):
var editor_data = $("textarea#body").val();
$("textarea#body").val(editor_data);
... a kod textarea dla potomności:
<textarea name="body" rows="15" cols="50" class="wysiwyg" id="body"></textarea>
Próbowałem odtwarzania w jsFiddle w IE8, ale dziwne jest to, że działa zgodnie z przeznaczeniem. Chciałbym również dostarczyć próbną próbkę, ale niestety nie mogę z przyczyn pozostających poza moją kontrolą.
Próbowałem również tej poprawki, i to wyjaśniło problem z błędem, ale po tym setData nie działa zgodnie z przeznaczeniem i po prostu nadpisać zawartość edytora z niczym. Przyznam, że ten problem + poprawka jest nieco ponad moją głową ...: http://dev.ckeditor.com/ticket/4566
(Przepraszam, długi post: S) Próbowałem również użyć bezpośredniego API JavaScript do CKEditor (porzucenie integracji jQuery) i wyrzucił ten sam błąd.
Ktoś ma coś, co chciałby, bym spróbował rozwiązać ten problem, lub miałby jakieś przeczucia, co to może być? Byłoby to bardzo doceniane!
Świetne rozwiązanie! – mmoriar1