as3.0和js相互调用,js控制flash的颜色

程序应用场景:flash是一副地图,地图上一单击,就调用js,弹出一个对话框,显示一些自己想要的信息;js定时调用as提供的方法,然后去改变flash的颜色。

以下是as代码:

import flash.events.MouseEvent;

import flash.text.TextField;

//给每一栋楼增加监听事件

mc0001.addEventListener(MouseEvent.CLICK,onClick);

mc0004.addEventListener(MouseEvent.CLICK,onClick);

//测试js是否正确调用as,正确调用输入内容到flash上

function myTest():void{

var str:String="Welcome to ActionScript 3.0=========================================================";

var field:TextField=new TextField();

field.text=str;

addChild(field);

}

//单击楼栋响应方法

function onClick(e:MouseEvent):void{

var mothd:String="monitorDevices";//monitorDevices为js提供给as调用的方法

var floorcode:String=null;

if(e.currentTarget==mc0001){

floorcode="0001";

}else if(e.currentTarget==mc0004){

floorcode="0003";

}

ExternalInterface.call(mothd,floorcode);

}

//ExternalInterface.addCallback("toJs",myTest);

ExternalInterface.addCallback("setColor",setName);//setColor为给js调用的接口

//改变地图颜色函数mcName楼栋代码,colorName颜色代码

function setName(mcName:String,colorName:String):void

{

if(colorName==null || colorName=="no")

this[mcName].gotoAndStop(2);

else

this[mcName].gotoAndStop(colorName);

}

=======================以下是js代码=============================

//鼠标单击了地图楼栋时调用

function monitorDevices(floorcode){

//alert(floorcode);

addWin = $.ligerDialog.open({

url: ‘<%=contextPath%>/showPosDetailAction!showPosInfo.action?floorcode=‘+floorcode,

height: 700,

width: 600,

top:50,

left:50,

titleMessage:‘POS状态‘

});

addWin = $.ligerDialog.open({

url: ‘<%=contextPath%>/showPosDetailAction!getServerStatus.action?floorcode=‘+floorcode,

height: 600,

width: 600,

top:50,

left:700,

titleMessage:‘服务器\圈存状态‘

});

//return ‘Hello from javascript。 你好!‘;

}

function callAs(message) {

//alert(message);

var msg=message.split("@");

//alert(msg.length);

for(var i=0;i<msg.length;i++){

var mess=msg[i].split("|");

var colorName;

var mcName=‘‘;

//alert(list.length);

for(var j=0;j<list.length;j++){

//alert(list[j].floorcode);

if(mess[0]==list[j].floorcode){

mcName=list[j].mapcode;

}

}

//alert(mcName+"===");

if(mess[1]=="0"){

colorName="red";

}else if(mess[1]=="1"){

colorName="normal";

}

//alert(msg[i]+‘   mcName:‘+mcName+‘   colorName:‘+colorName);

if(mcName!=‘‘){

thisMovie("monitor").setColor(mcName,colorName);

}

}

}

//浏览器兼容访问DOM

function thisMovie(movieName) {

if (navigator.appName.indexOf("Microsoft") != -1) {

return window[movieName];

}else {

return document[movieName];

}

}

HTML引入swf文件:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"

id="monitor" width="1200px" height="880px"

codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">

<param name="movie" value="<%=contextPath%>/flash/CauMap.swf" />

<param name="quality" value="high" />

<param name="bgcolor" value="#869ca7" />

<param name="allowScriptAccess" value="sameDomain" />

<param name="wmode" value="opaque"/><!-- transparent能使html页面完全显示 -->

<embed  wmode="Opaque" src="<%=contextPath%>/flash/CauMap.swf" quality="high" bgcolor="#869ca7"

name="monitor" align="middle"

play="true"

loop="false"

quality="high"

allowScriptAccess="sameDomain"

type="application/x-shockwave-flash"

pluginspage="http://www.adobe.com/go/getflashplayer">

</embed>

</object>

时间: 2024-10-18 08:31:05

as3.0和js相互调用,js控制flash的颜色的相关文章

关于action script与js相互调用的Security Error问题

大家都知道,as和js相互调用可以通过ExternalInterface.call和ExternalInterface.addCallback来进行. 比较好的做法是使用之前通过ExternalInterface.available来检测一下是否可用. 然而被坑了的是,这个ExternalInterface.available并不检测安全限制,也就是即使ExternalInterface.available=true,还是可能报错. 为了防止报错阻断程序正常运行,还需要再包一层try catch

php与js相互调用

2019-2-3 php与js相互调用<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><script type="text/javascript"> function test() { var t1=3; t1 = t1+2; alert(t1); return t1; } </script> <?php $name='J

WebView使用详解(一)——Native与JS相互调用(附JadX反编译)

前言:念念不忘,必有回响,永远坚持你所坚持的! 一直在用WebView,还没有系统的总结过它的用法,下面就系统的总结下,分享给大家 一.基本用法 1.加载在线URL void loadUrl(String url) 这个函数主要加载url所对应的网页地址,或者用于调用网页中的指定的JS方法(调用js方法的用法,后面会讲),但有一点必须注意的是:loadUrl()必须在主线程中执行!!!否则就会报错!!!.注意:加载在线网页地址是会用到联网permission权限的,所以需要在AndroidMan

WebBrowser(IE) 与 JS 相互调用

在开发中我们经常将WebBrowser控件嵌入Winform 程序来浏览网页,既然是网页那么少不了JS.下面就让我们来说说他们两之间的相互调用. 在C#封装的浏览器内核中,Chromium 内核封装有Xilium.Cefglue.Cefsharp,Webkit 内核封装 Webkit.Net .OpenWebKitSharp等. 但是说到和JS的调用,不得不说还是IE 的WebBrowser 最为简单方便.至于IE 为啥方便而其他的不方便,以后我会写文章分析. 下面我们还是先看看WebBrows

flex与js相互调用

1.flex调用js方法 调用方法例如:ExternalInterface.call("UploadComplete",oldName,uidName,_dir+"/"+uidName+type); 第一个是js方法名,后面几个是给这个js方法传的参数.这个方法必须在网页的js中注册,否则会调用失败. 需要注意的是调用之前需要检查网页的js是否已完成加载,用ExternalInterface.available可是判断. 注:这种调用方法是可以有返回值的,例如:va

Objective-c与js相互调用

原文地址:http://blog.csdn.net/ikmb/article/details/6716831 一 objective-c调用js NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"]; //注: webView是UIWebView实例 二 js调用objective-c 1.obj-c部分 - (void)viewDidLoad 

android WebView java与js相互调用

android webView js 使用1.js调用java    1.1 js代码    <script type="text/javascript">        function call(){            window.androidInterface.call('02585818031');        }    </script> 1.2.java代码    package com.example.webview;    import

Android js相互调用

一.webview相当于android中的浏览器,基于webkit开发,可以浏览网页文件,支持css javas cript 以及html 1 webview.getSettings().setJavaScriptEnabled(true);//允许JS执行 2 settings.setJavaScriptCanOpenWindowsAutomatically(true);//允许JS执行 3 webview.addJavascriptInterface(object,"name");

JavaScript基础 超链接调用js的空链接 void(0)

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"