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