“Javascript与Flash交互通信基础教程”指的是在一个HTML页面中,使用Javascript与Flash技术实现相互通信,从而达到一些动态效果或交互功能的目的。具体的实现方式可以通过swfobject.js插件实现,以下是详细的攻略:
步骤一:创建Flash文件
首先需要使用Flash软件创建Flash文件,并且为Flash文件命名。在编写Flash代码时,需要定义与Javascript交互的函数或者变量。例如,在Flash文件中定义一个变量myVar
,并将其设置为1:
var myVar:Number = 1;
然后再定义一个函数changeValue()
,将myVar
的值改为2:
function changeValue():void {
myVar = 2;
}
步骤二:为Flash文件创建容器
在HTML页面中创建一个容器,用于放置Flash文件。
<div id="flashcontent"></div>
步骤三:使用swfobject.js插件嵌入Flash文件
通过swfobject.js插件,将Flash文件嵌入容器中。可以在嵌入Flash文件时,设置与Javascript交互的回调函数和参数。
swfobject.embedSWF("myFlash.swf", "flashcontent", "300", "200", "9.0.0", false, {}, {myVar: 1}, {});
步骤四:Javascript调用Flash
在Javascript中,通过对象document.getElementById()
方法获取嵌入的Flash对象。调用Flash中定义的函数,例如调用changeValue()
函数:
var flash = document.getElementById("flashcontent");
flash.changeValue();
步骤五:Flash调用Javascript
在Flash中,可以通过ExternalInterface
类调用Javascript,并将参数传递给Javascript中定义的回调函数。例如,在Flash中调用Javascript中定义的函数myCallbackFunc()
,并传递参数2:
import flash.external.ExternalInterface;
ExternalInterface.call("myCallbackFunc", 2);
在Javascript中,需要定义myCallbackFunc()
函数,来接收Flash传递过来的参数。
function myCallbackFunc(val) {
alert("Flash传递的值为:" + val);
}
示例说明
示例一:Flash中发起JS弹窗
下面是一个示例,在Flash中调用Javascript中的函数showMessage()
弹出一个Window窗口,如下:
function showMessage() {
if (ExternalInterface.available) {
ExternalInterface.call("showMessage");
}
}
在HTML页面中,定义Javascript函数showMessage()
实现窗口的弹出:
function showMessage() {
alert("欢迎光临我的网站!");
}
示例二:JS控制Flash播放视频
下面是另外一个示例,在Javascript中控制Flash播放一个视频:
function playVideo() {
var flash = document.getElementById("flashcontent");
flash.playVideo();
}
在Flash中,需要定义函数playVideo()
来实现播放视频:
function playVideo() {
var myVideo:FLVPlayback = FLVPlayback(flvPlayer);
myVideo.play();
}
上述两个示例可以进行结合,实现更加复杂的效果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript与flash交互通信基础教程 - Python技术站