AS3 navigateToURL导致ExternalInterface 执行失败问题

所属分类: 网页制作 / Flash 阅读数: 1994
收藏 0 赞 0 分享
我们先看下面代码:
复制代码 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<!--[CDATA[
import flash.external.ExternalInterface;
private function init1():void
{
var url:String = "javascript:alert('执行navigateToURL');";
var request:URLRequest = new URLRequest(url);
navigateToURL(request,"_self");
}
private function init2():void
{
ExternalInterface.call("function function1(){alert('执行ExternalInterface');}");
}
private function clickfun():void
{
ExternalInterface.call("function function2(){window.document.title = '更改后的标题';}");
}
]]-->
</mx:Script>
<mx:Button x="150" y="92" label="1" click="init1()"/>
<mx:Button x="544" y="92" label="2" click="init2()"/>
<mx:Button x="404" y="315" label="更改标题" click="clickfun()"/>
</mx:Application>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Script>
<!--[CDATA[
import flash.external.ExternalInterface;

private function init1():void
{
var url:String = "javascript:alert('执行navigateToURL');";
var request:URLRequest = new URLRequest(url);
navigateToURL(request,"_self");
}
private function init2():void
{
ExternalInterface.call("function function1(){alert('执行ExternalInterface');}");
}

private function clickfun():void
{
ExternalInterface.call("function function2(){window.document.title = '更改后的标题';}");
}

]]-->
</mx:Script>
<mx:Button x="150" y="92" label="1" click="init1()"/>
<mx:Button x="544" y="92" label="2" click="init2()"/>
<mx:Button x="404" y="315" label="更改标题" click="clickfun()"/>

</mx:Application>

函数init1和init2都是通过javascript弹出提示框,clickfun()为修改网页标题。
3个函数单独执行都是成功的,但当
1.先执行init1函数后再调用clickfun函数,会发现clickfun执行失败。
2.先执行init2函数后再调用clickfun函数,会发现clickfun执行成功。
难道是navigateToURL会导致ExternalInterface 执行失败??请知道原因的朋友指导下。
更多精彩内容其他人还在看

12条有用的as代码(常用as代码)

flash as下的一些常用到的例如剪贴板操作,窗口操作字符串等.
收藏 0 赞 0 分享

Flex 透明效果,位于页面最底层

首先在Flex中将窗体的 backgroundAlpha设为0,如: backgroundAlpha="0"
收藏 0 赞 0 分享

flex array 搜索 遍历

key 要搜索的object的键值 value 要搜索的object的value值 fromIndex从第几行开始搜索 sourceArray 要进行搜索的array
收藏 0 赞 0 分享

FLASH 多参数的URL地址(带&符号)

FLASH 多参数的URL地址的处理技巧。
收藏 0 赞 0 分享

Flex 和JavaScript 交互(带参)

Flex 和JavaScript 交互,并且可以传递参数。
收藏 0 赞 0 分享

Flex dynamic 关键字的用法

Flex dynamic 关键字使用实例代码。对于学习flex的朋友也许有所帮助。
收藏 0 赞 0 分享

Flex中让鼠标移至AdvancedDataGrid的行上不自动修改显示效果

公司项目中出于性能考虑,把mx:Repeater控件换成了mx:AdvancedDataGrid控件来显示。
收藏 0 赞 0 分享

flex 优化技巧 收集[提升性能]

非常不错的flex优化技巧 37篇
收藏 0 赞 0 分享

Flex 加载Base64编码的二进制字符串图片

Flex 加载Base64编码的二进制字符串图片实现代码。
收藏 0 赞 0 分享

如何定义一个getter和seter设置的属性可以被绑定

Define private variable for maxFontSize.
收藏 0 赞 0 分享
查看更多