Я очень новичок в javascript, так что прости меня за мое невежество.
В настоящее время я использую SWFAddress для создания глубоких ссылок для приложения Flex. Проблема в том, что в IE9 не работает функция истории браузера.
Я бы хотел это исправить, и, похоже, это не должно быть трудным исправлением.
Когда я отлаживаю скрипт в Firefox, я получаю следующее сообщение об ошибке:
Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMEventTarget.dispatchEvent]
this.dispatchEvent(new SWFAddressEvent(type));
Это указывает на этот бит кода как на виновника:
_dispatch = function(type) {
this.dispatchEvent(new SWFAddressEvent(type));
type = type.substr(0, 1).toUpperCase() + type.substr(1);
if(typeof this['on' + type] == FUNCTION)
this['on' + type]();
},
Я проверил и подтвердил, что объект SWFAddressEvent создается правильно без каких-либо проблем.
Проблема, кажется, заключается здесь:
this.dispatchEvent = function(event) {
console.log(event);
if (this.hasEventListener(event.type)) {
console.log(event);
event.target = this;
for (var i = 0, l; l = _listeners[event.type][i]; i++)
l(event);
return TRUE;
}
return FALSE;
};
По какой-то причине dispatchEvent
не получает созданное SWFAddressEvent
.
Может кто-нибудь объяснить, что означает это сообщение об ошибке? И почему при первой загрузке страницы она может правильно отправлять 3 события, а когда возникает необходимость отправки дальнейших событий, кажется, что она не работает?