Firefox против IE: обработка innerHTML - PullRequest
6 голосов
/ 31 августа 2008

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

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

Ответы [ 4 ]

11 голосов
/ 31 августа 2008

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

9 голосов
/ 31 августа 2008

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

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

2 голосов
/ 17 сентября 2008

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

1 голос
/ 17 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...