Вопрос

После нескольких часов отладки мне кажется, что в FireFox innerHTML DOM отражает то, что на самом деле находится в разметке, но в IE innerHTML отражает то, что находится в разметке, плюс любые изменения, сделанные пользователем или динамически ( т.е. через Javascript).

Кто-нибудь еще обнаружил, что это правда? Есть какие-нибудь интересные обходные пути, чтобы оба были одинаковыми?

Это было полезно?

Решение

Я согласен с Пат. На данный момент в игре написание собственного кода для кросс-браузерной совместимости с учетом доступных Javascript-фреймворков не имеет большого смысла. Есть фреймворк практически на любой вкус (некоторые действительно довольно крошечные), и они сфокусированы на том, чтобы действительно абстрагироваться от всех различий между браузерами. Они делают НАСТОЛЬКО больше испытаний, чем вы, вероятно.

Что-то вроде jQuery или YUI от Yahoo (подумайте, сколько людей за день заходят в JavaScript Javascript и разнообразие браузеров) просто более проверено, чем любой фрагмент, который вы или я придумали.

Другие советы

Я использую .html () jQuery, чтобы получить согласованный результат в разных браузерах.

использование хорошей библиотеки - отличный способ обойти несоответствия браузера, и я обычно рекомендую jquery - и если вы сталкиваетесь с проблемами, связанными с изменением элементов в форме, jquery может похвастаться несколькими действительно полезными плагины, специально предназначенные для манипулирования и оценки форм.

Использование prototype и синтаксиса $ (" thisid ") вместо document.getElementById (" thisid ") может помочь вам. Это сработало для меня.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top