Проблема с доступом к внешнему методу ExternalInterface в Google Chrome
Мой простой ActionScript, я пытаюсь использовать FlashExternalInterface настроить обратный вызов, чтобы JavaScript мог вызывать метод для моего объекта Flash. Все отлично работает в Safari, Firefox и IE, но я не могу заставить работать Chrome. Когда я пробую код в Chrome, я получаю следующую ошибку:
Uncaught TypeError: Object # <HTMLObjectElement> не имеет методаSetText»
Вот пример HTML, который я использую (опять же, отлично работает в Safari, FF и IE)
swfobject.embedSWF("http://invincible.dynalias.com:8080/HelloWorld.swf", "mycontent", "400", "420", "9.0.0","expressInstall.swf", {}, {allowScriptAccess:'always'},{id:'hw',name:'hw'}); function getFlash(movieName) { return ( navigator.appName.indexOf("Microsoft") != -1) ? window[movieName] : document.getElementById(movieName); }
а вот и ActionScript ...
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.external.ExternalInterface;
import flash.system.Security;
public class HelloWorld extends Sprite {
private var textField:TextField = new TextField();
public function HelloWorld() {
Security.allowDomain("*");
ExternalInterface.addCallback("setText", this.setText);
textField.text = "Hello, world!";
addChild(textField);
}
public function setText(text:String):void {
this.textField.text = text;
}
}
}