gpt4 book ai didi

javascript - ExternalInterface.addCallback 无法正常工作

转载 作者:行者123 更新时间:2023-12-02 20:32:32 25 4
gpt4 key购买 nike

我有js代码:

function onFlashReady() {        
sendToAS("sit");
}

function callJS(value) {
onFlashReady();
return "Hi Flash.";
}

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

html:

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="850" Height="588" id="FlashID" tabindex="0">
<param name="movie" value="BusFlex/BusProducts.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="allowScriptAccess" value="always" />
<param name="swfversion" value="6.0.65.0" />
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="BusFlex/BusProducts.swf" width="850" height="588">
<!--<![endif]-->
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="allowScriptAccess" value="always" />
<param name="swfversion" value="6.0.65.0" />
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<div>
<h4>Установите или включите Adobe Flash Player.</h4>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
<script type="text/javascript">
<!-- swfobject.registerObject("FlashID"); //-->
</script>
</div>

和 ActionScript 代码:

protected function application1_creationCompleteHandler(event:FlexEvent):void
{
flash.system.Security.allowDomain("http://mysite.ru");
flash.system.Security.allowDomain("http://localhost");
if(ExternalInterface.available)
{
ExternalInterface.addCallback("callAS", fromJS);
}
ExternalInterface.call("callJS", "Hello JS!");
}
public function fromJS(str:String):void
{
...
}

但它仅适用于 IE。在 FF 中这不起作用。请帮助我。

最佳答案

问题似乎出在您的 flash 嵌入 html 中,Mozilla 浏览器依赖于 embed 标记,但您又拥有 object 。尝试在对象节点中使用类似的内容:

<embed type="application/x-shockwave-flash" data="BusFlex/BusProducts.swf" width="850" height="588" allowscriptaccess="always">
</embed>

关于javascript - ExternalInterface.addCallback 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842188/

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