swfObject, вызывающий ошибку "Object not support" в функции __flash__addCallback

Итак, я застрял на этой проблеме в течение некоторого времени, и это вызвало много разочарований. На многих страницах форума, которые я просмотрел, я нашел много людей, которые разделяют ту же проблему, но никого, кто дал четкий ответ о том, почему возникает эта ошибка и как ее исправить.

Я использую swfObject 2.2 для встраивания фонового видео на страницу, над которой я работаю, и IE7/IE8 выдает ошибку: "Объект не поддерживает это свойство или метод" из-за строки 48 символа 3. После открытия инструментов разработчика чтобы увидеть, какой код вызывает эту ошибку, я нашел это:

function __flash__addCallback (instance, name) {
   instance[name] = function () {
    return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" +          __flash__argumentsToXML(arguments,0) + "</invoke>"));
   }
} 

Я попытался найти, где я ошибался в своем коде и закомментировал все, кроме:

swfobject.embedSWF('http://localhost/flash/player.swf', 'video_player', '100%', '100%', '9.0.0'); 

Это элемент, который ищет swfobject:

<div id="video_player"></div>

Чтобы пойти дальше, я использовал совершенно пустой файл.swf, чтобы убедиться, что ошибка не генерируется самим файлом.swf.

Мне бы очень хотелось узнать, имел ли кто-нибудь опыт с этой ошибкой, используя swfobject, и могу ли я что-то сделать для ее решения.

2 ответа

У меня была такая же проблема, и я нашел эту запись в блоге:

Adobe Flash ExternalInterface проблемы с Internet Explorer

Подводя итог, можно сказать, что функции play() и stop() являются зарезервированными словами. Несмотря на то, что вы упомянули, что вы не используете вызовы ExternalInterface, но вы уже пытались переименовать эти методы?

Я хотел бы добавить в список "плохих" слов согласно IE8.

Нам пришлось переименовать методы с именем "zoom" и "pan", которые вызывали одну и ту же проблему. Другие люди сообщали, что "стоп" - это еще одно плохое слово.

К счастью, исправить это проще, чем найти точную причину: просто переименуйте ваши методы.

Другие вопросы по тегам