但是在實作js傳值給flash時,flash在獲取值存在幾率性,有時可以得到到,有時有獲取不到。後來發現,其實是因為所對應的flash沒有載入完,在js就開始呼叫flash中的ExternalInterface.addCallback()所開放的方法,導致flash還沒取得到值時就開始播放音樂,此時,當然播放不了。為了確保能正常傳值,就必須在flash載入完後才傳值,可是如何判定呢?其實只要利用flash開放的js的介面PercentLoaded 即可。具體如下:
Js程式碼
程式碼如下:
Intervall (function() {
if(flash.PercentLoaded =100) {
clearInterval(checkFlashLoaded);
}
},10) ;
var checkFlashLoaded = setInterval(function() {
if(flash.PercentLoaded =100) {
clearInterval(checkFlashLoaded);
}
},10);
透過判斷PercentLoaded是否100%即可知道flash載入完成沒有,如果沒有的話就一直監聽,直到完成,成功之後再傳值,此時才能保證傳值成功