2011-08-13 157 views
0

在標籤.gadget文件,我有一個簡單的HTML文件,該文件引用.gadget,以便它可以下載:火狐顯示,而不是下載

<a href="name.gadget">Download me!</a> 

IE,歌劇,Safari和Chrome都提供了文件保存到磁盤但是Firefox會在選項卡中加載二進制文件。爲什麼Firefox會恨我,我必須做些什麼來強制Firefox提供下載對話框?

我並不想指示用戶「右鍵單擊並選擇'將文件另存爲'」,或者他們必須在下載後刪除.zip擴展名。

服務器是Apache/2.2.17,如果它是相關的。有趣的事實是,Firefox的行爲與所有其他瀏覽器一樣 - 如果我從本地磁盤加載打開的.html文件。但是一旦它在服務器上,它就會在一個標籤中加載文件。

回答

0

所以,這裏的解決方案。

問題是Apache默認爲所有「未知」文件類型返回Content-Type = text/plain HTTP標頭。與所有其他瀏覽器不同,Firefox遵守標準,因此它顯示內容。 Here's what they have to say about it.您可以使用Firebug在Firefox中檢查標題(如果您使用的是Unix,則只需使用curl)。

上面的鏈接也提示瞭解決方案;向服務器註冊application/x-windows-gadget MIME類型。如果您沒有訪問服務器的配置,把.htaccess文件在同一目錄作爲文件(或任何目錄上面的目錄)與以下行:

AddType application/x-windows-gadget .gadget 

之後,唐忘了清除瀏覽器緩存。