ActiveXObject("Microsoft.XMLHTTP") проблема с responseText (IE)

Geol

Пациент
ActiveXObject("Microsoft.XMLHTTP") проблема с responseText (IE)

Проблема в следующем:
Была поставлена задача - при выводе статьи (которая мжет быть довольно большой, да ещё и скопи/пастина из html или word документа), показывалась только её часть, в один - полтора экрана. И соответственно ссылка "развернуть", дабы показать оставшуяся часть статьи.
Решено следующем образом - при генерации страницы, "лишняя" часть статьи (граница определяется редактором, который постит статью пользуясь FCKeditor, не заморачиваясь при этом не закрытыми тегами), сохраняется во временный файл, к начальному фрагменту лепится ссылка "развернуть", по клике на которую, через асинхронный вызов, в пустой <p></p>, подгружается оставшая часть страницы.
С Firefox всё нормально, с IE - "неопределенная ошибка выполнения".
Эксперементальным путём было установлено, что данная ошибка всплывает в том случае, если в подгружаемом тексте асть хоть один HTML тег. То есть текст типа <p>test даёт ошибку, а а просто test нет. причём текст вроде <t>test тоже вполне воспринимается.
Проблема была решена заменой элемента приёмника с <p> на <div>, но во первых. по некоторым причинам это не очень приемлимое решение, во вторых, так и не ясно, в чём было дело?
 

slach

Новичок
"по некоторым причинам это не очень приемлимое решение"
по каким?
вы подгружаете .innerHTML в контейнер?
тогда почему бы старику IE не ругнуться на это, если контейнер явно по семантике для этого не предназначен?
 

Geol

Пациент
Автор оригинала: slach
"по некоторым причинам это не очень приемлимое решение"
по каким?
Дело в том, что что заранее не известна разметка основного и подгружаемого текста. Как правило там бывают не закрытые теги (всё копипастица в визуальный редактор).
вы подгружаете .innerHTML в контейнер?
тогда почему бы старику IE не ругнуться на это, если контейнер явно по семантике для этого не предназначен?
Так ведь простой текст вполне подгружается. в чём принципиальное отличие <p></p> от <div></div>?
 
Сверху