文档章节

JavaScript (js) 和Flex交互总结(IE&&非IE浏览器)

soul_mate
 soul_mate
发布于 2014/06/23 10:29
字数 406
阅读 591
收藏 2

首先,不管是Flex调用js,还是js调用 Flex

需要引入的包(Flex包)import flash.external.*; 

其次,简单说说相互之间如何调用

1、Flex程序调用js的方法 :

这个相对简单,如下

Flex中:

public function FlexCallJs(){
    ExternalInterface.call("FlexJS");      // flex 直接调js里的方法             
}

Js中:

function FlexJS(){
    alert("flex call js");
}

2、Js调用Flex中的方法 :

这个相对而言注意的多些,如下

Flex中:

public function callFlexback(){
    //该函数必须是先启动,即该函数的作用是监听来自js中的调用 可以放在Application 中的creationComplete
    //<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="callFlexback()" >
    ExternalInterface.addCallback("jsCallFlex",jsCallFlex);  
    //js调flex入口,addCallback()函数前边是js调用该flex的入口,而后边的参数才是调用flex程序中真正的函数<习惯将两个代码写成一样>
 }
 //真正的供js调用的Flex里的函数
 public function jsCallFlex():void{
     Alert.show("@!@");
 }

 JsP中:

<div class="map1" style="display:block"> 
    <object id="object" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="990" height="222">
    <param name="movie" value="common/FlexJsTest.swf" /><!-- 似乎这个用不到啊 -->
    <param name="quality" value="high" />
    <param name="wmode" value="transparent" />
    <embed id="embedid" src="common/FlexJsTest.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="990" height="600" wmode="transparent"></embed>
     </object>
</div>
//通过opject对象引入flex编译的哦swf文件 src是相关的路径  其中最主要的东西是embedid,需要同过这个id为IE或者非IE浏览器获取该flex中的方法

Js中:

function jscallflex(){
     var x;
     if(navigator.appName.indexOf("Microsoft") != -1){//针对IE浏览器
        x=document.getElementById('embedid').jsCallFlex();
     }
     else {//针对非IE浏览器
        x=document.embeds['embedid'].jsCallFlex();
     }
}


© 著作权归作者所有

共有 人打赏支持
soul_mate
粉丝 3
博文 38
码字总数 17544
作品 0
怀柔
私信 提问
加载中

评论(1)

首席救火队员
首席救火队员
赞一个,终于解决了兼容性问题
JavaScript与Flex的ActionScript相互调用的方法

在JavaScript中调用Flex方法原理 Flex与JavaScript交互中如何用Flex调用JavaScript 总结Flex与浏览器交互

小微
2012/05/14
0
0
2010(Flex 初次使用 小节:No.2)

接这上一篇继续... 2 借助第三方的对象文件 swfobject.js 来向swf 传参 超链接的方式传参 <a href="VideoPlay.html?address=http://www.lxzq.com.cn/video/ty20100915_1.flv">Test</a> 接收参......

Zofda
2012/02/28
0
0
Flex Javascript 交互实现代码

关键字:ExternalInterface 所用类库:SWFObject / Flex调用Javascript函数 @params functionName:String Javascript函数名称 @params ...params Javascript函数参数 @return 返回Javascrip......

SeanCai
2011/03/29
0
0
flex和javascript之间的交互

flex中可以监听浏览器窗口的大小变化,但有些时候浏览器大小的变化flex不能直接监听到,因为该窗口不是顶层窗口,所以就需要在javascript中获得浏览器的大小,然后通过js通知给as3,再在fle...

Rocky_Sky
2013/02/01
0
0
FABridge 配置 (js与as通信)

[使用flash builder 4 点击工程-->右键-->创建Ajax Bridge 添加支持] 在开始使用 FABridge 之前,下面提供了可以使用的资料和开发环境。下载最新的 Flex SDK 后,请配置清单 2 中所示的目录结...

SeanCai
2011/03/29
0
1

没有更多内容

加载失败,请刷新页面

加载更多

0008-如何卸载CDH(附一键卸载github源码)

1.前置条件 本文档将介绍Cloudera Manager与CDH的卸载,并基于CDH使用parcels安装且未配置安全(AD/LDAP, Kerberos, Data Encryption)的集群,以下是本次测试环境,但不是本操作手册的硬限制...

Hadoop实操
19分钟前
1
0
MySQL Windows下免安装配置

安装MySQL软件 下载MySQL 依据ipems_dvp产品选型需求,选择mysql-5.7.17-winx64。可自行从网上下载,也可从公司拷贝,以下为下载目录和公司归档目录。 下载地址:https://downloads.mysql.c...

PeakFang-BOK
27分钟前
2
0
遍历java项目后台线程

遍历java项目后台线程,加深对项目后台运行线程理解 直接贴代码 import org.springframework.stereotype.Service;import java.lang.management.ManagementFactory;import java.lang.man...

王俊博客
41分钟前
2
0
iOS切面编程

aop编程(面向切面编程),其原理也就是在不更改正常的业务处理流程的前提下,通过生成一个动态代理类,从而实现对目标对象嵌入附加的操作。在iOS中,要想实现相似的效果也很简单,利用OC的动态性,...

RainOrz
48分钟前
2
0
PAT(Basic Level) 乙级练习题 ------ 1047 编程团体赛 java

1047.编程团体赛 题目: 编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。 现给定所有队员的比赛成绩,请你编写程序找...

Carol998
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部