2009/02/08

使用 iframe 讓網頁載入時自動下載檔案

<iframe
 src="http://localhost/file.zip"
 style="display:none"
 width="0"
>
</iframe>


SRC
src 中指定的欲下載檔案應為 zip、7z、rar、exe 等瀏覽器認為應將其進行下載動作之檔案類型。其他檔案類型不確定是否會進行下載動作,假如是 wmv 檔案,雖然 IE6 會進行下載,但是 Opera 9.63 和 Firefox3 就會於網頁中調用 Windows Media Player 進行播放。所以保險起見應先行將檔案壓縮,再用 iframe 嵌入網頁。

STYLE
通過指定 CSS:display:none,令 iframe 不顯示,這樣 iframe 不會影響到網頁的佈局,所以在 <body> 中隨便放哪裡都好。

WIDTH
這裡面有個 Opera 9.63 的瀏覽器相容性問題,必須指定 width="0" 或 height="0"(這兩個隨便選一個即可),否則 Opera 9.63 不會彈出檔案下載視窗。

網頁開啟後的瀏覽器行為
Opera 9.63 和 Firefox3 會直接彈出下載視窗;IE6 在網頁上方出現資訊列「為了協助保護您的資訊安全性,Internet Explorer 已封鎖這個網站下載檔案到您的電腦。其他選項請按這裡…」,滑鼠按下資訊列後點選下載檔案,彈出下載視窗。

慣例
對於載入時會自動下載檔案的網頁,通常要在網頁中作如下說明:

如果您的下載沒有自動開始,請按一下此連結:開始下載

在連結中指定同 iframe 相同的欲下載檔案。

沒有留言 :

張貼留言