js 如何调用flash方法

 我来答
songyipangbuo
2014-02-15 · TA获得超过744个赞
知道小有建树答主
回答量:190
采纳率:100%
帮助的人:255万
展开全部
FLASH中代码://导入包
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]
}
}
</script>
</div>
其中红色代码是核心代码,其作用原理是AS端通过addCallback函数把AS内部定义的方法注册为可从容器中调用,允许自定义另外一个方法名供 JS来调用这个方法,函数调用成功返回true,失败返回flase,在此例中通过wasSuccessful变量来判断函数是否注册成功。函数注册成功以后,JS可以通过DOM来访问SWF对象,然后直接调用预定义的方法即可。

通过比较可以看出,使用ExternalInterface来完成AS和JS的通信,代码可以更简洁,更清晰,功能也更强大,不过还有些细节你需要了解,需要使用8.0以上的播放器,对于调用的JS函数不能使用递归,同时安全域限制也必须在考虑之中。
Baby_原來
2015-07-05 · TA获得超过3402个赞
知道大有可为答主
回答量:1535
采纳率:94%
帮助的人:501万
展开全部

  通过 objectswf.js

  调用actionscript中的方法.

<script type="text/javascript" language="javascript" src="Scripts/swfobject.js"></script>
<script language="javascript">
 function load(){
  var swfVersionStr = "10.0.0";
  var params = {};
  params.quality = "high";  
  params.allowfullscreen = "false";
  params.allowscriptaccess = "always"; 
  //params.wmode = "transparent";
  swfobject.embedSWF("flash/MainPage.swf", "FlashID", "597", "416", swfVersionStr,params);
 }
 //调用flash中的方法,"swfId"为html页中swf的id
 function setValue(o) {
  
  thisMovie("FlashID").getIds(o);
 }
 
 //搭建js与flash互通的环境
 function thisMovie(movieName) {
  if (navigator.appName.indexOf("Microsoft") != -1) {
   
   return window[movieName];
  } else {
   
   return document[movieName];
  }
 }
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
2014-02-15 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
flash好像就是个html里面的标签链接而已
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式