Flash 和Js通信 null为空或不是对象

来源:互联网 发布:淘宝投诉客服电话 编辑:程序博客网 时间:2024/04/29 20:09
在IE下,一点Flash中调用JS函数的按钮就出JS错误“'null' 为空或不是对象”,查看关于ExternalInterface的帮助,提到一点是:

注意:在将 SWF 文件嵌入到 HTML 页中时,请确保<object><embed> 标签的 idname 属性不包括诸如以下的字符: (句点)、-、+、*、/ 和 \。

 

既然提到id和name和属性不得包含特 殊符号,是不是在调用ExternalInterface时,id属性也是是必不可少的。加上 id,问题迎刃而解~

 

举例:

点击Flash的时候就执行GetJS方法

function GetJS(evt:MouseEvent):void    //控制刷新按钮F5不可用
{
 if(ExternalInterface.available) {
        ExternalInterface.call("sayHello"); //getFocus是Main.html中的js方法
 }
}
stage.addEventListener(MouseEvent.CLICK,GetJS);

//js方法:

function sayHello()
{

        alert("Hello!");
}