js和as的穩(wěn)定傳值問題解決
更新時間:2013年07月14日 15:05:23 作者:
最近在實現(xiàn)flash的播放音樂的功能,這就涉及到js和as交互的問題,因為要實現(xiàn)動態(tài)改變音樂文件的功能,可是如何判定呢?
但是在實現(xiàn)js傳值給flash時,flash在獲取值存在幾率性,有時可以獲得到,有時有獲取不到。后來發(fā)現(xiàn),其實是由于<object ...></object>所對應的flash沒有加載完,在js就開始調(diào)用flash中的ExternalInterface.addCallback()所開放的方法,導致flash還沒獲取到值時就開始播放音樂,此時,當然播放不了。為了保證能正常傳值,就必須在flash加載完后才傳值,可是如何判定呢?其實只要利用flash開放的js的接口PercentLoaded 即可。具體如下:
Js代碼
var checkFlashLoaded = setInterval(function() {
if(flash.PercentLoaded =100) {
flash.setBGMusic("bkmusic.mp3");
clearInterval(checkFlashLoaded);
}
},10);
var checkFlashLoaded = setInterval(function() {
if(flash.PercentLoaded =100) {
flash.setBGMusic("bkmusic.mp3");
clearInterval(checkFlashLoaded);
}
},10);
通過判斷PercentLoaded是否100%即可知道flash加載完成沒有,如果沒有的話就一直監(jiān)聽,直到完成,成功之后
再傳值,此時才能保證傳值成功
Js代碼
復制代碼 代碼如下:
var checkFlashLoaded = setInterval(function() {
if(flash.PercentLoaded =100) {
flash.setBGMusic("bkmusic.mp3");
clearInterval(checkFlashLoaded);
}
},10);
var checkFlashLoaded = setInterval(function() {
if(flash.PercentLoaded =100) {
flash.setBGMusic("bkmusic.mp3");
clearInterval(checkFlashLoaded);
}
},10);
通過判斷PercentLoaded是否100%即可知道flash加載完成沒有,如果沒有的話就一直監(jiān)聽,直到完成,成功之后
再傳值,此時才能保證傳值成功
相關(guān)文章
用JavaScript實現(xiàn)讓瀏覽器停止載入頁面的方法
下面小編就為大家?guī)硪黄肑avaScript實現(xiàn)讓瀏覽器停止載入頁面的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01
json數(shù)據(jù)與字符串的相互轉(zhuǎn)化示例
json與字符串之間的轉(zhuǎn)換,在使用中經(jīng)常會遇到,本文有個不錯的示例,大家可以參考下,或許會有所幫助2013-09-09

