Тема, которую мы обсуждаем, — верстка веб-страниц с помощью CSS. Самая неприятная проблема для всех — совместимость браузеров. Хотя 52CSS.com предоставил много знаний в этом направлении, они по-прежнему сбивают с толку многих разработчиков. -три различия между JavaScript и JavaScript в IE и Firefox. Надеюсь, это будет полезно каждому.
1. проблема document.formName.item("itemName") Описание проблемы: В IE вы можете использовать document.formName.item("itemName") или document.formName.elements ["elementName"]; в Firefox вы можете использовать только document.formName.elements["elementName"] .
Решение: используйте document.formName.elements["elementName"] единообразно.
2. Проблемы с объектами коллекции Описание проблемы: В IE вы можете использовать () или [] для получения объектов коллекции. В Firefox вы можете использовать только [ ] для получения объектов коллекции;
Решение. Используйте [] единообразно для получения объектов класса коллекции.
3. Проблема с пользовательскими атрибутами Описание проблемы: в IE вы можете использовать метод получения обычных атрибутов для получения пользовательских атрибутов или использовать getAttribute() для получения пользовательских атрибутов; в Firefox вы можете использовать только getAttribute(; ), чтобы получить их.
Решение. Равномерно получите пользовательские атрибуты с помощью getAttribute().
4. Проблема eval("idName") Описание проблемы: В IE вы можете использовать eval("idName") или getElementById("idName") для получения объекта HTML с идентификатором idName в Firefox; используйте getElementById («idName») только для получения объекта HTML с идентификатором idName.
Решение. Используйте метод getElementById("idName") единообразно, чтобы получить объект HTML с идентификатором idName.
5. Проблема в том, что имя переменной совпадает с идентификатором объекта HTML Описание проблемы: В IE идентификатор объекта HTML может использоваться непосредственно как имя переменной подчиненного объекта документа, но не в Firefox; в Firefox его можно использовать с объектом HTML. Имена переменных с тем же идентификатором не могут использоваться в IE.
Обходной путь: используйте document.getElementById("idName") вместо document.idName. Лучше не использовать имена переменных с одним и тем же идентификатором объекта HTML, чтобы уменьшить количество ошибок при объявлении переменных, всегда добавляйте ключевое слово var, чтобы избежать двусмысленности;
6. Проблема с константами Описание проблемы: В Firefox вы можете использовать ключевое слово const или ключевое слово var для определения констант. В IE вы можете использовать только ключевое слово var для определения констант;
Решение. Используйте ключевое слово var единообразно для определения констант.
7. Проблема с атрибутом input.type Описание проблемы: Атрибут input.type в IE доступен только для чтения, а атрибут input.type в Firefox — для чтения и записи.
Решение. Не изменяйте атрибут input.type. Если вам необходимо изменить его, вы можете сначала скрыть исходный ввод, а затем вставить новый элемент ввода в ту же позицию.
8. Проблема Window.event Описание проблемы: window.event можно запустить только в IE, но не в Firefox. Это связано с тем, что событие Firefox можно использовать только в той сцене, где оно происходит.
Решение. Добавьте параметр события в функцию, в которой происходит событие, и используйте var myEvent = evt?evt:(window.event?window.event:null) в теле функции (при условии, что формальный параметр — evt).
Пример: