`
whuthj
  • 浏览: 72564 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

AS与JS通讯

阅读更多

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="")句的后面要填的就是FlashActioncommand栏里填写的内容,"args"是个变量,上例中args代表的就是Argument里的内容。"alert""JS"函数,作用是输出信息。看到JS语句后面的一段VBS代码了么?这段代码可是非常重要噢,如果你的浏览器是IE的话,这段代码是必不可少的。  

 

3FS CommandFlash Methods  

Flash Methods指能运行在脚本中并能于Flash沟通的一组特定函数。  

IEFlash 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.0与JS相互通信双向

    1、as文件是源代码,fla是源文件。 2、将html和swf放在你的站点根目录,然后用网址访问html(比如通常是http://127.0.0.1/asjs.html)即可看到效果!如果直接用浏览器打开html看不到最终效果的 3、flash给js发送消息,...

    as3实现播放.wav声音文件(带as3同js通讯源码)

    as3实现播放.wav扩展名的声音文件 as3实现flash与javascript(js)的通讯 要引用: import de.popforge.audio.output.SoundFactory; import de.popforge.audio.output.Audio;

    js调用AS flash函数

    首先,理解JS与AS通讯的基础是`ExternalInterface`,这是Flash Player提供的一个API,允许ActionScript代码与JavaScript环境进行交互。在AS端,你需要先启用`ExternalInterface.addCallback`方法来注册一个可供JS...

    as3实现播放.wav声音文件(带as3同js通讯源码

    as3实现播放.wav扩展名的声音文件 as3实现flash与javascript(js)的通讯 要引用:import de.popforge.audio.output.SoundFactory; import de.popforge.audio.output.Audio;

    as3播放.wav文件(带as3同js通讯源码)

    里面有 1. as3实现flash与javascript(js)的通讯源码 2. as3实现播放.wav扩展名的声音文件 需要引用:import de.popforge.audio.output.SoundFactory; import de.popforge.audio.output.Audio;

    AS3与JaveScript之间的通讯视频讲解

    本视频教程将深入探讨如何实现AS3与JavaScript之间的通信。 1. **跨域策略**: 在AS3与JavaScript通信时,由于同源策略的限制,如果Flash内容和HTML不在同一个域名下,必须设置跨域策略。在AS3中,可以通过`...

    webBrowser扩展浏览器通过JS代码与串口通讯.rar

    本主题聚焦于“webBrowser”扩展浏览器如何利用JavaScript(JS)代码与串口进行通信,以及如何进行UDP和TCP通讯,还有进行本地电脑的截图操作。下面将详细解析这些知识点。 首先,"webBrowser扩展浏览器"是指那些...

    用flex做的简单flv播放器

    在描述中提到“利用AS与JS通讯”,这意味着播放器不仅使用AS处理内部逻辑,还能与JavaScript进行交互,可能用于实现页面上的其他功能或者与服务器进行通信。 3. **FLVPlayback组件**:Flex提供了一个名为...

    Flex AcrionScript 和 JavaScript 通讯

    Flex ActionScript与JavaScript之间的通信是Web开发中的一个重要概念,它允许在Adobe Flash Player中的Flex应用程序与HTML页面上的JavaScript代码之间交换数据和控制交互。这种通信机制对于创建富互联网应用程序...

    vue websocket 与 delphi10.2 websocket通讯

    Vue.js是一个流行的JavaScript前端框架,用于构建用户界面。Delphi 10.2则是一个集成开发环境(IDE),主要用于编写高性能的Windows和移动应用程序,包括服务器端应用。在本案例中,我们将探讨如何使用Vue.js和...

    c#与flash通讯

    首先,我们要理解`ExternalInterface`是Flash Player提供的一种机制,允许AS3(ActionScript 3)代码调用JavaScript函数,从而与宿主环境(如浏览器)进行通信。在桌面应用中,如使用C#的Windows Forms或WPF,可以...

    调试flash与html通讯的例子

    总结来说,"调试flash与html通讯的例子"涉及到Flash的ActionScript和HTML的JavaScript之间的数据交换,这在创建互动式Web内容时非常关键。通过学习和实践此类示例,开发者可以更好地掌握这两种技术的协同工作,提升...

    flash to js 使用工具包及示例,提供 js 和 flash 之间的通讯

    本文将深入探讨“Flash to JS”的使用,以及如何通过提供的工具包实现JavaScript与Flash之间的通信。 首先,我们要了解为什么需要Flash和JavaScript之间的通信。Flash在早期提供了丰富的多媒体和交互体验,而...

    UniPlugin-Hello-AS.rar

    uni-app采用Vue.js语法,通过H5层与原生层的通讯机制,实现了跨平台的运行。对于安卓平台,uni-app支持通过自定义插件的方式接入原生功能。在本例中,“UniPlugin-Hello-AS.rar”正是这样一个用于演示如何调用安卓...

    flash与js通讯方法

    在网页开发中,有时我们需要实现Flash与JavaScript之间的通信,以便更好地协调两者之间的功能。本文将详细介绍两种主要的Flash与JavaScript的交互方式:`getURL` 和 `SetVariable`。 首先,我们来看`getURL`方法。`...

    js-communicate:AS-JS communicate,封装ExternalInterface的call、addCallback与JS交互的形式。该模块将为SWF提供接口并抛出事件,供JS来调用其接口并监听事件。从此不再拘泥于需要JS提供特定的接口供AS3来调用了!

    js-communicate INTRAS-JS的交互通讯模块,提供了JS中模拟AS3事件监听处理方式用于取代AS直接调页面接口的方式。使用该库将为SWF提供三个接口给JS来调用:notify,用于JS调AS中的接口swf.notify('pausePlayer', [p1,...

    C#版ActiveX + JS +Flex通讯 完整实现

    因項目部署需要,特把之前寫的與讀卡器通訊的模塊改為ActiveX插件,給Flash調用,由於Flash不能直接調用ActiveX,所以,用JS作為中間層,作為Flash和ActiveX通訊的橋梁。 開發環境:WINXP _EN 開發工具:VS2005,...

    javascript 操作MSCOMM32串口通讯.docx

    根据提供的文档信息,本文将详细解析如何利用JavaScript与ActiveX技术实现对MSCOMM32串口通信的操作。本文档虽然未提供详细的上下文环境,但从文档内容中可以看出,其核心在于通过JavaScript与一个自定义的ActiveX...

Global site tag (gtag.js) - Google Analytics