知识大全 AS3与JS之间的简单自定义参数通讯

Posted 函数

篇首语:人生难得几回搏,此时不搏待何时。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 AS3与JS之间的简单自定义参数通讯相关的知识,希望对你有一定的参考价值。

AS3与JS之间的简单自定义参数通讯  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  一直没去深入研究下AS 与JS的交互开发也就是SWF在中的通信 最近出于项目要求被迫投入了 也在这里做个汇总

  一:HTML中最快速的传值方式

  在HTML中插SWF时 可以跟个参数 比如:

  files/home swf?id=” ″

  在AS 里可以这样去接收

  var id:String=stage loaderInfo parameters["id"]; 这种传值方式其实AS 的时候也是这样做的 到AS 时使用parameters 属性替换了AS 和 提供SWF文件参数作为主时间轴的技术 所以我们改用一下AS 的取值方式就行了

  这种方式只能是单边一次性传值 有时候会用得到 但需要与JS相互通信就不行了 还有 只能接收字符串

  二:使用外部通信接口ExternalInterface

  这也是AS 时代进化来的 目前公认的最靠谱的通信方式

  使用方法:

   JS调用AS 的函数

  确定JS调用AS 之前 要在AS 中绑定调用函数 也就是说 只有AS 答应给的方法JS才能调用

  使用:ExternalInterface addCallback(functionName:String closure:Function):void有两个参数:

  functionName:String — 容器可用于调用函数的名称

  closure:Function — 要调用的 closure 函数 这可能是一个独立的函数 或者可能是引用对象实例方法

  ExternalInterface addCallback("getASVars" getASFun); private function getASFun(value:String):void //得到JS传来的值:value

  好了 可以在JS中去调用这个方法了 调用前还要先取得插进HTML的SWF的ID 我们在HTML中不管用什么方式插都可以设置ID

  例如先通过id为”mov”来获取对象 再调用上面绑定的方法:

代码如下: function thisMovie(movieName) if (navigator appName indexOf("Microsoft") != ) return window[movieName]; else return document[movieName]; thisMovie("mov") getASVars(value); AS 调用JS的函数    

  AS 调JS直接使用call就行了

  使用:ExternalInterface call(functionName:String … arguments):*

  这个方法有两个参数

  functionName:String — 要在容器中调用的函数的名称

  … arguments — 传递到容器中的函数的参数 您可以指定零个或多个参数 参数之间用逗号分隔 这些参数可以是任何 ActionScript 数据类型 当调用 JavaScript 函数时 ActionScript 类型自动封装到 JavaScript 类型中;当调用其它某个 ActiveX 容器时 将在请求消息中对参数进行编码

  例如:

代码如下: ExternalInterface call("setToJS" "paramTest"); //在JS中编写这个setToJS的函数 function senToJS(value) alert(value)//输出:paramTest  

  看起来很爽 但也不是完全靠谱 这个接口还是会挑食的 只有在以下浏览器中才支持: 浏览器 操作系统 操作系统 Internet Explorer 及更高版本 Windows Netscape 及更高版本 Windows Macintosh Mozilla 及更高版本 Windows Macintosh Firefox 及更高版本 Windows Macintosh Safari 及更高版本 Macintosh 还有个安全沙箱的问题 如果出现安全沙箱警报 可以使用以下两种修正方法: 在包含 HTML 页中的 SWF 文件的 object 标签中 设置以下参数 在 SWF 文件中 添加以下 ActionScript

代码如下: Flash system Security allowDomain(sourceDomain)

  

cha138/Article/program/Java/JSP/201311/20074

相关参考

知识大全 自定义事件实现不同窗体间的通讯C#篇

自定义事件实现不同窗体间的通讯C#篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#中的事件

知识大全 JS自定义函式语法,doLoginCas:function ()} : 号什么意思

JS自定义函式语法,doLoginCas:function()}:号什么意思?和我们平常定义functionzz()区别?  以下文字资料是由(全榜网网www.lishixinzh

知识大全 JS特效代码--让select控件可以自定义边框

JS特效代码--让select控件可以自定义边框  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!li

知识大全 js 控制网页打印大全

  普通打印(整页打)打印网页内部分内容(自定义)打印去掉/添加页眉页脚使用外部控件/方法实现多功能打印打印背景  以上为代码控制  设置“页面设置”实现打印参数设置(Window系统图文版)  一普

知识大全 Oracle中自定义函数 无参数 输入参数 输出参数

Oracle中自定义函数无参数输入参数输出参数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lis

知识大全 Java自定义简单标签实例

Java自定义简单标签实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Java自定义简单标签可以

知识大全 通过自定义函数提高服务器性能

  在应用程序开发中可以通过函数来提高系统的性能与代码的重复利用在SQLServer数据库中也可以通过自定义函数来提高服务器的性能用户自定义函数可以从外部接受必要的参数并在内部执行一些复杂的操作最后返

知识大全 一个简单JAVA网络通讯录

一个简单JAVA网络通讯录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  定义一个简单的JAVA

知识大全 一个简单的自定义ClassLoader的实现

一个简单的自定义ClassLoader的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  很多

知识大全 JQuery的自定义事件代码,触发,绑定简单实例

JQuery的自定义事件代码,触发,绑定简单实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!下面