ExternalInterface для вызова функции принадлежит объекту JS
Я использую ExternalInterface
в моем проекте AS3, чтобы сделать некоторые вещи с помощью Javascript, но теперь мне нужно использовать его, чтобы вызвать некоторую функцию, принадлежащую объекту.
Как то так (AS3):
ExternalInterface.call("VIEWER.loadComplete");
JS код:
var VIEWER = {
loadComplete: function(){
$('#'+this.maindiv).children('.mask').hide();
$('#'+this.viewer).css({
width: '640px',
height: '480px',
overflow: ''
});
}
}
Это не работает в Chrome (работает только в Firefox, и я тоже не знаю почему). Может кто-то уточнить меня таким образом?
2 ответа
Я решил свою собственную проблему, добавив следующее в мой объект SWF, встроенный в HTML:
<param name="AllowScriptAccess" value="always">
Теперь мой SWF может звонить ExternalInterface
(даже в Chrome).
Проблемы с версией проигрывателя Chrome. Правила, установленные в глобальных настройках проигрывателя Flash Player, не используются и не загружаются этим проигрывателем. Таким образом, вы всегда получаете ошибки безопасности песочницы и внешние интерфейсы не работают.
Вам нужно перейти на страницу плагинов Chrome chrome://plugins/
и дезактивировать PPAPI
(Pepper API, версия Chrome) версии Flash Player и включить только NPAPI
версия (классическая).