что запускает обработчик события onerror для тегов объекта в ie? - PullRequest
2 голосов
/ 30 июля 2011

мы проводили некоторое тестирование на некоторых встроенных флеш-виджетах.

, хотя я знаю, что событие onerror , когда оно прикреплено к тегу объекта , не слишком перекрестнодружественный к браузеру, этот обработчик довольно часто вызывается для пользователей Internet Explorer.

, хотя я совершенно уверен, что этот обработчик будет вызываться, когда SWF-файл не может быть загружен (как в 404, 410, ошибка сети,и т. д.), вызывается ли он в каких-либо других обстоятельствах?

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

Я полагаю, что я должен также добавить это, можно ли получить дополнительную информацию о том, что вызвало событие onerror, когда оно вызывается?

Подводя итог, мы должны знать, что можно с уверенностью предположить, что если событие onerror вызывается из тега объекта, то оно было вызвано тем, что swf не загрузился успешно, и, таким образом,мы можем попытаться загрузить его с другого URL.да, мы просто не хотим пытаться перезагрузить SWF, если onerror был запущен по какой-то другой причине, тогда SWF не загружается.

некоторая дополнительная информация:

мы используем флэш-сатайметод встраивания флеш.и просто добавив onerror к тегу объекта, как показано ниже:

<object .... onerror="ourAjaxLogFunction()">

как всегда, спасибо.

1 Ответ

2 голосов
/ 30 июля 2011

Документация для onerror говорит (выделено мое):

Для вызова вызвать одну из следующих ошибок:

  • Ошибка сценария выполнения, например, недопустимая ссылка на объект или нарушение безопасности .

  • Ошибка при загрузке объекта, например изображения.

  • Новое для Internet Explorer 9. Произошла ошибка во время извлечения медиа данных.

Возможно, ваш Flash-контент каким-то образом пытается пересечь границу безопасности. Если это так, попытка перезагрузить его из другого источника не поможет. Я бы посоветовал вам продолжить расследование сообщений об ошибках, передаваемых вашему обработчику.

...