gpt4 book ai didi

javascript - ExternalInterface.addCallback as3 不起作用

转载 作者:行者123 更新时间:2023-11-30 13:34:41 24 4
gpt4 key购买 nike

我想从 JS 调用 AS 函数。

我有以下 ActionScript 3 代码:

package  {
import flash.display.*;
import flash.events.*;
import flash.system.*;
import flash.external.ExternalInterface;
public class Main extends Sprite {
public function Main()
{
ExternalInterface.addCallback("PlaySound", PlaySound);
}
public function PlaySound():void
{

}
}
}

我需要从 JavaScript 调用函数 PlaySound()。我尝试通过以下方式进行:

function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
return document[movieName];
}
}

function m()
{
var obj=thisMovie("Main");
obj.PlaySound();
}

但是 obj 没有 PlaySound() 方法(obj 不为空)。

怎么了?

最佳答案

我用它来查找电影。好像比较靠谱:

function thisMovie(movieName) {
var movie;
try
{
movie = document[movieName];
movie = (movie == null) ? window[movieName] : movie;
}
catch (e)
{
return null;
}
return movie;
}

我还发现从本地文件系统运行时,ExternalInterface 无法正常工作。您是否尝试过从网络服务器运行它?

您也有可能看到竞争条件...也许您正试图在 PlaySound 注册为回调之前调用它。如果您稍等片刻再调用电话,会发生什么情况?

关于javascript - ExternalInterface.addCallback as3 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5337071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com