免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1636 | 回复: 0

as 与 js 通信 [复制链接]

论坛徽章:
0
发表于 2011-12-23 02:52 |显示全部楼层
AS2.0代码:
import flash.external.*;
var jsNameadd:String = "jsFunctionadd";
var instance:Object = null;
var asNameadd:Function = flashFunctionadd;
var addDecoration:Boolean = ExternalInterface.addCallback(jsNameadd, instance, asNameadd);
//js call flash
var flashReturnadd:String;
var mc:MovieClip = this.createEmptyMovieClip("mc", 1);
function flashFunctionadd(path:String, depth:Number, xpoint:Number, ypoint:Number) {
       var decMc:MovieClip = mc.createEmptyMovieClip("decMc"+depth, depth);
       var mclListener:Object = new Object();
       mclListener.onLoadInit = function(target_mc:MovieClip) {
              target_mc._x = xpoint;
              target_mc._y = ypoint;
              target_mc.onPress = function() {
                     startDrag(this);
              };
              target_mc.onRelease = target_mc.onReleaseOutside=function () {
                     stopDrag();
                     flashReturnadd = String(ExternalInterface.call("returnInformationadd", path, this._x, this._y));
                     //flash call js
              };
       };
       var image_mcl:MovieClipLoader = new MovieClipLoader();
       image_mcl.addListener(mclListener);
       image_mcl.loadClip(path, decMc);
}
HTML代码:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>external</title>
<script language="JavaScript">
function addDecoration() {
    thisMovie("external").jsFunctionadd("http://bbs.blueidea.com/images/default/reply.gif","1","100","50");
}
function addDecoration2() {
    thisMovie("external").jsFunctionadd("http://bbs.blueidea.com/images/default/newtopic.gif","2","50","150");
}
function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName]
    }
    else {
        return document[movieName]
    }
}
function returnInformationadd(parameter1,parameter2,parameter3) {
    alert("The decoration information: " + "path=" + parameter1 + "," + "xpoint=" + parameter2 + "," + "ypoint=" + parameter3);
   }
</script>
</head>
<body bgcolor="#ffffff">
<!-- saved from url=(0013)about:internet -->
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="external" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="external.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#666666" />
<embed src="external.swf" quality="high" bgcolor="#666666" width="550" height="400" name="external" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
<form>
    <input type="button" onclick="addDecoration()" value="Add Decoration" />
</form>
<form>
    <input type="button" onclick="addDecoration2()" value="Add Decoration2" />
</form>
</body>
</html>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP