其實,你的榜樣是適當的方式鏈接到文件:
<a href="my-program.zip">download my program</a>
你永遠無法肯定地告訴該瀏覽器無法查看文件。你只需鏈接到它;這取決於瀏覽器如何做到他們認爲最好的 - 顯示,下載或執行其他操作。別擔心,瀏覽器通常會做正確的事情。
這遵循網絡的原理,您不知道瀏覽器將如何處理您發送的文件和頁面。你提到了一個ZIP文件,但想到PDF文件。它們就像一個ZIP文件:它們不是HTML,它們不是用於瀏覽器的,瀏覽器可能會下載它。但是有一些插件,如Adobe PDF Reader和Schubert’s PDF Browser Plugin,它們在瀏覽器中顯示PDF文件的內容。同樣,假設可能有一個瀏覽器的ZIP文件瀏覽器 - 它可能會向用戶顯示瀏覽器中ZIP文件的內容,並讓用戶決定在哪裏提取這些內容。
大多數瀏覽器不要有描述的假想的ZIP文件查看器,所以該文件將只是下載,就像你想要的。但那並不重要;只要寫下你的鏈接,一切都會好的。
瀏覽器可以做的事情之外,查看文件或立即下載文件。它也可以詢問用戶是否要下載文件。或者它可以開始下載文件,在其中檢測病毒,並立即刪除它。關鍵是,它取決於瀏覽器對文件的處理。
請注意,此政策是另一種方式。你的HTML頁面看起來像瀏覽器一樣 - 它們都是「資源」。 「資源」是「URL」中的「R」。當您通過訪問URL訪問HTML頁面時,瀏覽器認爲「這是一個HTML資源。我該怎麼做?哦,我可以在主窗口中顯示它 - 我會這樣做的。「這與單擊指向其URL的鏈接下載ZIP文件的過程相同,它認爲」這是ZIP資源。我該怎麼做?我不能顯示它 - 我想我會開始下載並打開下載窗口,使用戶可以看到發生了什麼「大多數瀏覽器,甚至讓你下載一個網頁的HTML就像一個文件,如果你問它。 。
如果您有多種格式的文件,並且希望讓瀏覽器選擇可以查看的最佳文件格式,那麼您可以使用HTTP Accept header設置系統。例如,如果您的ZIP和RAR版本是我的程序,那麼您可以將它鏈接到my-program
,然後瀏覽器選擇最喜歡的版本。但是這種設置可能會很複雜,而且這種系統通常不需要僅僅用於文件下載。Accept頭通常是用來獲取的東西正確版本的瀏覽器是爲了視圖 - 例如,因爲它沒有任何編解碼器,可以播放瀏覽器可能會選擇通過WMV視頻文件的MP4視頻文件嵌入WMV視頻。
如果要強制瀏覽器下載文件即使瀏覽器或許可以查看它自身,看到this question。
發帖和自我回答,因爲我記得有關於HTML這個問題時,我很多年前就開始學習英語。 –