2011-07-11 7 views
0

私は、FlashオブジェクトをHTMLページに埋め込み、Flashムービーを初期化するためにwindows.onloadを呼び出しています。問題は、windows.onloadがFlashオブジェクトが完全にロードされるのを待たないということです。 Flashオブジェクトが完全に読み込まれていることを確認する方法はありますか?windows.onload event

答えて

2

フラッシュがブラウザの残りの部分に完全に非同期である

<head> 
<script> 
var falshObj = null; 
function pageInit() 
{ 
    thisMovie(); 
    //alert("test"); 
    falshObj.init();// function within the Flash Object 
} 
function thisMovie() 
{ 
    if (navigator.appName.indexOf("Microsoft") != -1) 
    { 
     falshObj = window["main"];//Flash object name 
    } 
    else 
    { 
     falshObj = document["main"];//Flash object name 
    } 
} 
</script> 
</head> 
<body > 
<script> 
if (window.addEventListener) 
{ 
    window.addEventListener("load", pageInit, false); 
} 
else 
{ 
    window.attachEvent("onload", pageInit); 
} 
</script> 
</body> 
</html> 

感謝を:ここに は、私が使用しているコードです。ムービーがロードされたことを通知するには、externalInterfaceコールをJavaScriptに戻す必要があります。

また、JS構文は陳腐でエラーが発生しやすいですが、それは別の議論です。

+0

falshObj.init()はムービーを初期化するexternalInterfaceコールバックです。 – FadelMS

+0

いいえ、私は完全に理由はわかりませんが、あなたはそれがロードする準備ができていることをJavaScriptに通知するためにフラッシュを必要とします。おそらく、Flashをブラウザの何かと同期させようとしているのでしょうか?そうでない場合は、Flash ExternalInterfaceで「ロードされた」JS関数を呼び出し、ロードされたオブジェクトでinitを呼び出します(自動初期化しない何らかの理由があると仮定して)。 –

+0

実際、Flashムービーの一部の機能をトリガするページのロードが完了すると、JSはFlashムービーにデータを送信します。 – FadelMS