Ошибки синтаксического анализа HTML, когда DOM динамически обновляется до нового содержимого HTML

Недавно я начал обновлять свой веб-сайт для отправки и получения запросов/ответов через AJAX. Я использую библиотеку прототипов.

Мой существующий HTML-код содержит определенные незакрытые теги img и input.

Когда я пытаюсь обновить содержимое элемента (скажем, div) с помощью такого HTML-кода с помощью свойства innerHTML, я получаю ошибки синтаксического анализа, такие как «нежелательный код» или «неправильный формат» и т. д.

Без использования AJAX, т.е. без динамического обновления DOM, страница нормально функционирует даже с приведенной выше нестандартной кодировкой html.

Вопрос:

Есть ли способ использовать динамическое обновление и при этом избежать ошибок синтаксического анализа?


person Community    schedule 21.04.2009    source источник
comment
Недоступна ли возможность исправления существующего HTML-кода?   -  person Cerebrus    schedule 21.04.2009
comment
закрывающие теги - это только один пример, который я привел, другие ошибки включают неправильно сформированные ошибки, относящиеся к атрибутам, таким как выбранные, отключенные атрибуты. хотя ваше решение правильное, но таких ошибок слишком много (скажем, 1000-2000) на всех существующих веб-страницах, чтобы перейти к ручному редактированию, даже некоторые инструменты исправления html не работают, потому что на этих страницах есть встроенные сценарии веб-сервера, которые также редактируются .   -  person    schedule 21.04.2009


Ответы (1)


Да, вы можете использовать динамическое обновление, если убедитесь, что ваша страница соответствует стандартам. Библиотеки JS разработаны с учетом этого, и у них есть проблемы со вставкой данных на страницы, не соответствующие стандартам. Вероятно, вы можете решить проблему, просто закрыв теги.

person Scott M.    schedule 21.04.2009
comment
Спасибо. закрывающие теги - это только один пример, который я привел, другие ошибки включают неправильно сформированные ошибки, относящиеся к атрибутам, таким как выбранные, отключенные атрибуты. хотя ваше решение правильное, но таких ошибок слишком много (скажем, 1000-2000) на всех существующих веб-страницах, чтобы перейти к ручному редактированию, даже некоторые инструменты исправления html не работают, потому что на этих страницах есть встроенные сценарии веб-сервера, которые также редактируются . так ты получил эту подсказку? - person ; 21.04.2009
comment
Я думаю, я зашел слишком далеко вперед, когда сказал просто. Если инструменты исправления html могут решить хотя бы часть проблем за вас, то вы уже впереди того, что было раньше. Из того, что я могу сказать, кажется, что ваши проблемы возникают, когда вы пытаетесь вставить динамические данные, поэтому, возможно, вы могли бы сначала сосредоточить свои усилия на этой области. - person Scott M.; 21.04.2009
comment
@imdad: вы можете попробовать вставить простейший HTML-код, такой как тег span с Hello world или что-то в этом роде. Посмотрите, работает ли это. Возможно, проблема связана с определенным тегом в HTML-коде, который вы вставляете. Попробуйте изолировать это. - person KarstenF; 21.04.2009