当前位置: 首页 > 图文教程 > 网络编程 > ASP > flash与js通讯方法

ASP
bbs的树状结构算法
bbs的树状算法的补充程序
ASP.NET:访问Excel 电子表格
ADO.NET:ADODataReader类
ADO.NET:使用ADO.NET连接文本文件
session变量中的数组如何引用
外源.js的选择调用与一个.htm网站管理初探
验证email地址是否合法完整实例
不用Global.asa实现在线人数统计
为输入及输出的数据库的资料做造型
改进性能和样式的 25+ ASP 技巧(1)
改进性能和样式的 25+ ASP 技巧(2)
改进性能和样式的 25+ ASP 技巧(3)
改进性能和样式的 25+ ASP 技巧(4)
表单递交内容检测脚本-这里只接受数字
如何使replace方法不区分大小写?
在 Web 页上使用条件数值格式
如何用asp把sqlserver数据转换为execl文件
用ADO STREAM做的无组件上传程序简单介绍
如何在主页中控制浏览权限

ASP 中的 flash与js通讯方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 164 ::
收藏到网摘: n/a

今天主要学习一下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)");
}