本文實例講述了js實現延時加載Flash的方法。分享給大家供大家參考,具體如下:
當頁面中包含自動播放視頻的flash播放器時,flash的流媒體播放會一直不停的下載視頻(哪怕你點擊了播放暫停/停止也一樣在不停下載),這樣會影響到頁面其它元素的加載。
最簡單的優化辦法就是讓Flash一開始不要播放:當然,你可以修改fla源文件,讓視頻播放一開始就處於暫停,直到用戶點擊了播放按鈕。但問題是,如果您嵌入的是沒有源文件的flash動畫,這種路子就走不通了。
思路:
可以先在放置flash的地方,放一張小圖片,點擊圖片後再把圖片元素換成對應的object標簽。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>swf占位符</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$().ready(function () {
$("#rbtvs_play_pos").click(function () {
$("#swfPos").html("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0\" width=\"226\" height=\"338\" id=\"rbtvs_player\" align=\"middle\" style=\"z-index: -999\"><param name=\"allowScriptAccess\" value=\"Always\" /><param name=\"allowFullScreen\" value=\"false\" /><param name=\"movie\" value=\"http://img.rbtvs.com/swf/rbtvs_player.swf\" /><param name=\"quality\" value=\"high\" /><param name=\"bgcolor\" value=\"#efefef\" /><param name=\"wmode\" value=\"opaque\" /><embed src=\"http://img.rbtvs.com/swf/rbtvs_player.swf\" quality=\"high\" bgcolor=\"#efefef\" width=\"226\" height=\"338\" name=\"rbtvs_player\" align=\"middle\" allowscriptaccess=\"Always\" allowfullscreen=\"false\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.adobe.com/go/getflashplayer\" /></object>");
})
})
</script>
</head>
<body>
<div id="swfPos">
<img id="rbtvs_play_pos" src="http://img.rbtvs.com/bihu001/images/rbtvs_play.gif" style="cursor:pointer" alt="點擊播放視頻" />
</div>
</body>
</html>
希望本文所述對大家JavaScript程序設計有所幫助。