AS3 navigateToURL导致ExternalInterface 执行失败问题

 更新时间:2009年02月08日 16:08:37   作者:  
AS3 navigateToURL导致ExternalInterface 执行失败问题
我们先看下面代码:
复制代码 代码如下:

<?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 执行失败??请知道原因的朋友指导下。

相关文章

  • Google Analytics在Flash cs3下的使用教程分析

    Google Analytics在Flash cs3下的使用教程分析

    因为工作的原因,最近使用到Google Analytics组件,这个组件在网上的资料很多,但是大部分都是详谈组件的优势的,具体的使用没有很详细的说明
    2009-02-02
  • ActionScript 3.0 编程体验

    ActionScript 3.0 编程体验

    日前,Adobe公司发布了Flash的最新版本Flash Professional 9 ActionScript 3.0 Preview,这是Flash 9的预览版,正式版本估计要到2007年才会推出,
    2008-03-03
  • ActionScript 3.0中用XMLSocket与服务器通讯程序(源码)

    ActionScript 3.0中用XMLSocket与服务器通讯程序(源码)

    一个简单的基于XMLSocket的封装类
    2009-02-02
  • 火山动态文本滚动条V5[AS3版]

    火山动态文本滚动条V5[AS3版]

    功能说明:本版滚动条除了继续保持体积小(小于2K),界面容易修改,资源占用率小的优势外,主要有以下几点改进: 1,使用AS3编写。 2,宽高动态指定。 3,增加滚动条背景点击事件。 4,消除了鼠标滚轮无法同时准确控制多个文本框的重大BUG。
    2008-03-03
  • as3 rollOver or mouseOver使用说明

    as3 rollOver or mouseOver使用说明

    rollOver与mouseOver同样在鼠标移到目标上时触发事件,细微区别在于,mouseOver的bubbles等于true,而rollOver的bubbles是false.
    2009-10-10
  • AS3自写类整理笔记:ByteLoader类

    AS3自写类整理笔记:ByteLoader类

    该类的主要功能是把swf,jpg,png,gif等文件以字节的形式加载进来 以便于使用Loader.loadBytes方法,重复加载使用素材 如果图片格式为jpg,并且是渐进式格式jpeg,那么该类还可以帮助你边加载边显示
    2008-06-06
  • AS3自写类整理笔记 Dot类

    AS3自写类整理笔记 Dot类

    拖拽物体1和物体2,就可以看到效果了 index.base.geom.Dot类讲解 基本功能:记录xy两点
    2008-06-06
  • AS3打开新窗口不被屏蔽的代码

    AS3打开新窗口不被屏蔽的代码

    有时候flash打开的网址会出现被屏蔽的现象,如何能轻松的打开而不被屏蔽呢,下面是具体的代码。
    2010-08-08
  • flash PureMVC 使用例子

    flash PureMVC 使用例子

    昨天下了PureMVC, 看了一天文档, 迷茫啊, 找例子也没找到, 后来破解了一个看了一下, 大概地写了一个简单的用例, 先算是学习笔记吧, 先把这最简单的例子做法写一下吧( 也不知道这种理解是否正确哦~~汗一个!)
    2009-01-01
  • Actionscript 3.0中Singleton实现 修正篇

    Actionscript 3.0中Singleton实现 修正篇

    说明:上一篇"一个简单的Actionscript的单态模式类"的实现在Actionscript中报错,具体原因会在这篇Blog中详细说明。
    2009-02-02

最新评论