flash与js通讯方法

今天主要学习一下js与flash是如何通讯滴。

1、先学习一下

getURL(url, window, variables)

使用 getURL 语句,可以让指定的浏览器窗口,转向显示指定的URL地址。参数(url)指定要显示WEB页面文档的 URL 地址。参数(window)指定要要显示WEB页面文档的浏览器窗口,它可以是指定为自定义的窗口名称,也可以

如果想让它执行调用js函数执行,那么可以这样

on (release) {

  getURL(\"JavaScript:alert('hello,world')\");

}

如果调用自定义的函数

on (release) {

  getURL(\"JavaScript:aiqi('test')\");

}

那么html页面里要定义这个函数,比如

function aiqi(s){

alert(s);

}

这样就可以实现简单的flash与js通讯

那么如何让js来控制flash呢。

SetVariable()函数

document.getElemenyById(\"js\").SetVariable(\"myvar\", \"asdfasdfasdf\");

js为html中swf文件的id

如何用javascript来调用flash中函数叱。

直接的方法应该是米有。

可以模拟一下。在flash中设一个变量,javascript控制改变这个变量的值,flash一检测到此变

量值改变,变执行函数;

flash     

 --------------   

 var   stat=0;   

 setInterval(test,300){   

         if   (stat==1)   doFlash();   

 }   

 function   doFlash(){

}

javascript   

 --------------------   

 tt.SetVariable(\"stat\",1);

这个例子,我想已经实现了js与flash的交互了。

讲解一下。其实很简单。

首先在html文件里定义一个函数

  function aiqi(s){

  //给flash赋值

  js.SetVariable("stat",s);  

  }  

注js为swf文件的id

SWF文件里有两按纽它们的AS分别为

on (release) {

  getURL("javascript:aiqi(1)");

}

on (release) {

  getURL("javascript:aiqi(0)");

}

通过这两个按纽,传递参数给js的aiqi()函数,

aiqi()函数动态改变flash中stat中值。

swf中AS为

 var stat=0;

 var c=0;

 setInterval(function(){

         if   (stat==1)  

      doFlash();   

 },1000)  

 function   doFlash(){   

         var1=c++;   

 }   

当flash检测到stat值变化时调用doFlash(). 

// [Action in Frame 1]

function doFlash()

{

    var1 = c++;

} // End of the function

var stat = 0;

var c = 0;

setInterval(function ()

{

    if (stat == 1)

    {

        doFlash();

    } // end if

}, 1000);

on (release)

{

    getURL("javascript:aiqi(1)");

}

on (release)

{

    getURL("javascript:aiqi(0)");

}

时间: 2024-10-09 06:54:05

flash与js通讯方法的相关文章

flash与js通讯

js js控制flash: Play() ---------------------------------------- 播放动画  StopPlay()------------------------------------停止动画  IsPlaying()----------------------------------- 动画是否正在播放 GotoFrame(frame_number)---------------- 跳转到某帧  TotalFrames()--------------

IE不出现Flash激活框的小发现的js实现方法_javascript技巧

大家都知道欺骗IE不出现Flash激活框的方法很简单 只要在页面上面引入一个js文件,然后用js来控制flash的html代码输出即可.但是如果我们的脚本是动态加载的就会有两种情况,看以下代码  程序代码 var s = docuemnt.createElement("script"); s.src = src; docuemnt.getElementsByTagName("head")[0].appendChild(s);  程序代码 var s = docuem

flash javascript之间的通讯方法小结_javascript技巧

不用getURL和fsCommand方法 flash使用的actionscript跟javascript是非常相通的,下面描述如何互相调用函数: 1:javascript调用flash中的函数 在flash的脚本中增加 import flash.external.ExternalInterface; 假定要调用的函数是hello,as代码如下 function hello(){ return "hello"; } ExternalInterface.addCallback("

JS判断浏览器是否安装flash插件的简单方法_javascript技巧

1. 直接判断是否有flash插件 var myFlash = (function(){ if(typeof window.ActiveXObject != "undefined"){ return new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); }else{ return navigator.plugins['Shockwave Flash']; } })();  chrome: Edge浏览器中取消了win

flash与js交互代码:当FLASH有消息时IE窗口高亮显示

AS调用JS的方法(实例演示)  代码如下 复制代码 Flash中代码: //导入包 import flash.external.*; get_btn.onRelease = function(){ //调用页面中的JS函数 var temp_str = String(ExternalInterface.call("say", "Hello,World")); result_txt.text = temp_str; } Html中代码: function say(t

javascript-js中的java代码如何访问js中方法的参数??见图

问题描述 js中的java代码如何访问js中方法的参数??见图 如何让1处的值传到2处这里?? 解决方案 需要用ajax提交你的index到服务器,服务器端无法直接获取客户端js的变量值 <script src=""http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js""></script><script type=""text/javascript&qu

复制js对象方法

复制js对象方法,需要的朋友可以参考下   复制代码 代码如下: CSSCommonJS.DeepCopy = function (json) {     if (typeof json == 'number' || typeof json == 'string' || typeof json == 'boolean') {         return json;     } else if (typeof json == 'object') {         if (json instan

JS扩展方法实例分析

 JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. 下面给出一个例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <head> <title>测试JS扩展方法</title> <script type="text/javascript"> // 合并多个空白为一个空

js数组方法扩展实现数组统计函数

 这篇文章主要介绍了js数组方法扩展,实现数组统计函数,需要的朋友可以参考下  代码如下: /**************************************************** *CreateBy:joe zhou *Description:数组统计函数 ****************************************************/ $.extend({     max: function (arr) {         return cacl(