这就是我想要实现的。
- 在加载 swf 文件时,包装器 div显示 html 内容(例如文本内容)。
- 当 swf 文件加载 100% 时,它会替换包装器 div 中的文本内容,然后在包装器 div中播放。
- 当 swf 文件播放完毕后,它会被替换为之前的文本内容。
(这更像是 html 到 swf 到 html 在 div 内交换)
如果这是可能的或任何其他解决方法,有什么想法吗?
非常感谢任何可以分享的人。
最简单的方法是从影片中的 ActionScript 调用 div 交换函数。
当电影 100% 加载时,您可以调用,然后从电影的“最后一帧”再次调用,因此您将让 flash 电影说“给我看”,然后再“隐藏我”。
Have the HTML and Flash in one div. Since you can't hide a SWF. This trick is to shove it off screen:
<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>
It's more fool-proof to have the SWF call a JS function with the ExternalInterface when it's finished. But you can check it via 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>
If you are inserting the SWF dynamically be sure to wait a millisecond before accessing it.