#javascript
#javascript
Вопрос:
stages = {
"1": {
id: "1",
div: "foo"
},
"2": {
id: "2",
div: "bar"
},
"3": {
id: "3",
div: "foobar"
}
};
Когда я запускаю это в Firefox, все в порядке. Но при запуске в IE8 я получаю эту ошибку:
Сообщение: объект не поддерживает это свойство или метод
Это известная ошибка / есть ли обходной путь или это мой синтаксис?
Комментарии:
1. Вы пробовали объявлять «этапы» с
var
помощью?2. Нет, потому что я хочу, чтобы он был глобальным
3. Я запустил вышеописанное в IE8 и не получил сообщение об ошибке. Возможно, вам просто нужно также обернуть ключевые части (id, div) в «»?
5. Вы уверены, что ошибка не исходит из другой части вашего кода?
Ответ №1:
Если в вашей разметке есть элемент with id=stages
, некоторые браузеры создают глобальную переменную stages
в качестве ссылки на него. Однако IE не поддерживает переопределение его без объявления. Если вы хотите stages
, чтобы переменная была глобальной, поместите var stages;
ее в глобальную область видимости или назначьте объекту window.stages
.
Комментарии:
1. Спасибо, чувак, вот что было не так. Переименовал stages в stagesDict, и он работает нормально.
Ответ №2:
Я вообще не получаю эту ошибку. Я могу определить этот самый код в файле javascript или в консоли, и он работает просто отлично.
Я вижу эту ошибку, если попытаюсь запустить код из jsfiddle.net . Однако ошибка относится к коду в Action.js и следующий код
if (e amp;amp; e.target.getParent().get('id') == 'm') {
Похоже, он недоволен e.target
.
Как именно вы вызываете появление этой ошибки?