HTML と Flash を 1 つの div に配置します。SWF を非表示にできないためです。このトリックは、画面から押し出すことです。
<div id="wrapper">
<div id="flashWrapper" style="position:relative; left:-2000px;">
<object>flash embed code</object>
</div>
<div id="loading">Flash is loading...</div>
</div>
SWF の終了時に、ExternalInterface を使用して JS 関数を呼び出す方が確実です。ただし、JS 経由で確認できます。
<script>
var v = setInterval(function(){
if(flashMovie.PercentLoaded() == 100){
document.getElementById("flashWrapper").style.left = "0px";
document.getElementById("loading").style.display = "none";
clearInterval(v);
}
});
</script>
SWF を動的に挿入する場合は、アクセスする前に 1 ミリ秒待機してください。