用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash as程序>列表

flash中ExternalInterface不会造成方法覆盖

[来源:SimpleLife blog | 作者:小力 | 时间:2008-05-03 | 点击:  | 收藏本文  【 】]
JavaScript与Flash的通信一文中我介绍了利用ExternalInterface来实现的JS与AS双向通信,有朋友跟我提出疑问如果AS或者JS中都定义了同名函数,那么会造成方法覆盖吗?这的确是个需要考虑的问题,通过测试证明,即使出现了同名方法的定义,它们也是相互独立的,不会造成方法覆盖

  一、AS调用JS方法时出现同名方法查看实例

  AS代码如下:import flash.external.*;
var v = ExternalInterface.available;
t_btn.onRelease = function (){
//调用JS函数
var s = ExternalInterface.call("say","JS函数调用成功!")
//调用AS本地函数
s += say("\n本地函数调用成功!");
r_txt.text = s;
}
//AS本地函数
function say(s){
return s;
}
  HTML代码: //定义一个JS函数
function say(txt){
return txt;
}

  可以看到在JS中定义了一个say方法供AS调用,现在我们在AS中定义了一个同名的say方法来验证它们是否会出现覆盖。结果证明它们不会覆盖,都工作得很好。(PS:不错~)

二、JS调用AS方法时出现同名方法查看实例

  AS代码如下://导入包
import flash.external.*;
//提供JS访问的函数名
var _method:String = "say";
//指定本地函数中this变量的作用域,可设置为null留空
var e_area:Object = null;
//AS内部函数名
var method:Function = say;
//将函数注册到容器列表
var wasSuccessful:Boolean = ExternalInterface.addCallback(_method, e_area, method);
//查看注册是否成功
if(wasSuccessful){
result_txt.text = "函数注册成功";
}
//本地的函数
function say(txt:String) {
result_txt.text = txt;
}
HTML代码如下:<div>
<form>
<input type="button" onclick="callExternalInterface()" value="JS调用AS方法" />
</form>
<script>
function callExternalInterface() {
thisMovie("demo").say("Hello,World");
}
//浏览器兼容访问DOM
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName]
}
else {
return document[movieName]
}
}
//定义一个JS本地函数
function say(s){
alert(s);
}
</script>
</div>

  可以看到在AS中定义了一个say方法供JS调用,现在我们在JS中定义了一个同名的say方法来验证它们是否会出现覆盖。结果证明它们不会覆盖,都工作得很好。(PS:也不错~)

  通过上面的两个例子我们可以得出结论在使用ExternalInterface时即使定义了同名方法,也不会造成方法覆盖,你大可放心使用。

文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:flash中Object.watch的“另类”用法
下一篇:利用BlurFilter类构造模糊效果
Tags:     " // 方法 say JS AS 调用 function var <
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·BitmapData画源图片中的一部分
·flash加减法小游戏的制作过程
·flash打造随机获得游戏关卡密码
·AS入门第五课:数组
·AS常用语句 第三节-循环语句
·AS常用语句 第二节-条件语句
·AS入门第四课:AS常用语句 第一
·AS入门第三课:AS基本语法
·AS入门第二课:面向对象编程基础
·AS入门第一课:认识编程环境
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flex 3 AdvancedDataGrid的使用(第二
·全Flash动画网站实现的基础教学
·flash水影效果字
·Flash打造简单的飘雪动画视觉特效
·FLASH+XML相册(附源码)
·超酷flash光晕移动效果
·Flash旋转拖尾文字效果的制作教程
·Flash制作大雪纷飞效果动画
·flash春雷闪电效果
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号