1.Fscommand
在网页应用上,FS Command有两大功能。
(1)能使Flash向脚本语言发送命令。可以是调用脚本语言中的一段函数或传递变量给脚本语言等。
(2)能使脚本语言(js,vbs)向Flash发送命令。可以是给Flash中定义变量或是直接控制Flash动画的时间线上的跳转或给Flash中定义实体的属性等。
看到了么?它是这样实现的:
(1)用Flash作一个简单的按钮,将按钮的Action设为:
On(Release) {
FSCommand("alert","Hello,This is FS Command speaking")
}
(2)将按钮输出为swf,用Dreamweaver插入网页,并起ID名为"button"
(3)在网页<head>与</head>之间加入:
<script language=javascript>
function button_DoFSCommand(command,args)
{if(command == "alert"){
alert("Now look at this:"+args);}
}
</script>
<SCRIPT LANGUAGE=VBScript>
Sub button_FSCommand(ByVal command, ByVal args)
call button_DoFSCommand(command, args)
end sub
</SCRIPT>
下面对(3)点的语法做一些解释:"function ID_DoFSCommand(command,args)"是引用FS Command的一个固定格式,ID就是swf插入网页后起的ID名字。"if(command="")句的后面要填的就是FlashAction中command栏里填写的内容,"args"是个变量,上例中args代表的就是Argument里的内容。"alert"是"JS"函数,作用是输出信息。看到JS语句后面的一段VBS代码了么?这段代码可是非常重要噢,如果你的浏览器是IE的话,这段代码是必不可少的。
3、FS Command之Flash Methods
Flash Methods指能运行在脚本中并能于Flash沟通的一组特定函数。
在IE中Flash Methods的格式为:ID.FlashMethods
我们还是用学习例子的方法来了解Flash Methods的功能和用法吧:
请点击按钮!看到效果了么?它是这样实现的:
(1)在Flash中画一个文本框,定义其实体名为get,并设置文本的属性为Multiline(允许换行),Word wrap(边界换行)。
(2)制作按钮“提交”和“清除”,分别设置action为:
On(Release) {
FSCommand("post","")
}
On(Release) {
FSCommand("clear","")
}
(3)用Dreamweaver将导出的swf插入网页,起ID名为buttonn。
(4)网页代码中加入:
<script language=javascript>
function buttonn_DoFSCommand(command,args)
{if(command == "post")
buttonn.SetVariable("_root.get","哈哈!神奇吧?这是JavaScript说的话!~0~")
else if(command == "clear")
buttonn.SetVariable("_root.get","")
}
</script>
<SCRIPT LANGUAGE=VBScript>
Sub buttonn_FSCommand(ByVal command, ByVal args)
call buttonn_DoFSCommand(command, args)
end sub
</SCRIPT>
2.ExternalInterface
ExternalInterface 类是外部 API,在 ActionScript 和 Flash Player 的容器之间实现直接通讯的应用程序编程接口,例如,含有 JavaScript 的 HTML 页。 推荐对所有 JavaScript 与 ActionScript 之间的通信使用 ExternalInterface。 在 HTML 页中使用 JavaScript,可以调用 Flash Player 中的 ActionScript 函数。 ActionScript 函数可以返回一个值,JavaScript 会立即接收它作为该调用的返回值。此功能替代了较旧的 fscommand() 方法。
命名空间:import flash.external.ExternalInterface;
两个重要方法:
addCallback(functionName:String, closure:Function):void
call(functionName:String, ... arguments)
* 在html文件里加入
* <script type="text/javascript"
* function ch(value)
* {
* alert("哈哈");
* }
* </script>
*/
ExternalInterface.call("ch","ActionScript 3.0 Cookbook");
* 在html文件里加入
* <script type="text/javascript"
* function oc()
* {
* alert(document.getElementById("ExternalInterfaceTest").cc("hello"));
* }
* </script>
*
* <input type="button" value="测试" onclick="oc()"/>
*/
ExternalInterface.addCallback("cc",cc);
function cc():String {
return "Hello";
}
分享到:
相关推荐
as3实现播放.wav扩展名的声音文件 as3实现flash与javascript(js)的通讯 要引用: import de.popforge.audio.output.SoundFactory; import de.popforge.audio.output.Audio;
as 与 js的双向通信
as3实现播放.wav扩展名的声音文件 as3实现flash与javascript(js)的通讯 要引用:import de.popforge.audio.output.SoundFactory; import de.popforge.audio.output.Audio;
JS调用swf函数 JS调用flash函数 JS与flash通讯 JS与SWF通讯 JS调用AS函数 源代码下载
里面有 1. as3实现flash与javascript(js)的通讯源码 2. as3实现播放.wav扩展名的声音文件 需要引用:import de.popforge.audio.output.SoundFactory; import de.popforge.audio.output.Audio;
以一个小实例说明Flex AcrionScript 和 JavaScript 通讯
用flex做的简单flv播放器(利用as与js通讯 ),支持缓冲播放;
js-communicate INTRAS-JS的交互通讯模块,提供了JS中模拟AS3事件监听处理方式用于取代AS直接调页面接口的方式。使用该库将为SWF提供三个接口给JS来调用:notify,用于JS调AS中的接口swf.notify('pausePlayer', [p1,...
今天主要学习一下js与flash是如何通讯滴。 1、先学习一下 getURL(url, window, variables) 使用 getURL 语句,可以让指定的浏览器窗口,转向显示指定的URL地址。参数(url)指定要显示WEB页面文档的 URL 地址...
因項目部署需要,特把之前寫的與讀卡器通訊的模塊改為ActiveX插件,給Flash調用,由於Flash不能直接調用ActiveX,所以,用JS作為中間層,作為Flash和ActiveX通訊的橋梁。 開發環境:WINXP _EN 開發工具:VS2005,...
本文实例讲述了javascript父子页面通讯的实现方法。分享给大家供大家参考。具体分析如下: 如果一个domain为 www.abc.com的页面内部包含一个name属性值为childFrame的iframe,并且这个iframe的domain为 static.abc....
不用getURL和fsCommand方法 flash使用的actionscript跟javascript是非常相通的,下面描述如何互相调用函数: 1:javascript调用flash中的... //第一个参数为导出函数名,第三个参数为as的函数名,这样就可以在js中调用
本文主要介绍几种常见的javascript跨域通信方法。首先讲解一下JSONP。 1、JSONP JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server...
游戏的第一个版本开发于14年,浏览器端使用html+css+js,服务端使用asp+php,通讯采用ajax,数据存储使用access+mySql。不过由于一些问题(当时还不会用node,用asp写复杂的逻辑真的会写吐;当时对canvas写的也少,...
很庆幸,我又见到了末日后新升的太阳,所以我还能在这里写文章,言归正传哈,最近做了一个项目,需要用子域名调用主域名下的一个现有的功能,于是想到了用jsonp来解决,在我们平常的项目中不乏有...这种跨域的通讯方
他们的使用范围也是相差非常远,js只是用在html,用来对document节点进行增删改查,构建与服务器通讯的一种解释性语言而已,这只是最简单的理解,后面我们来对javascript进行详细深入的学习,好了,我们就从语法开始...
由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window; BOM由一系列相关的对象构成,并且每个对象都提供了很多方法与属性; BOM缺乏标准,JavaScript语法的标准化组织是ECMA,DOM的标准化组织是...
SignalR类似与JavaScript实时框架,如Socket.IO。SignalR能够完成客户端向服务器的异步通信,并同时支持服务器向浏览器客户端推送事件。SignalR的连接通过日益流行的WebSockets API完成,而如果WebSockets无法使用...
[removed] var parent = { // say:function () { // alert(“parent_say”); }, alert:function () { // alert(“parent”); this.say(); } }; // parent.addChild(“child”, { // say:...
本文实例讲述了javascript设计模式 – 中介者模式原理与用法。分享给大家供大家参考,具体如下: 介绍:在前端开发的过程中,组件与组件之间的通讯特别常见,一个组件的change需要引起数个组件的change,这就需要...