1. document.formName.item("itemName") Описание проблемы: в IE вы можете использовать document.formName.item("itemName") или document.formName.elements ["elementName"] в Firefox, вы можете использовать только в Firefox; документ .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. Описание проблемы Const: В 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).
Пример:
программный код