簡體   English   中英

是否可以僅使用JavaScript(客戶端方法)在瀏覽器中為識別的MIME類型啟動下載提示?

[英]Is it possible to initiate a download prompt in the browser for recognized MIME types using only JavaScript (client-side approach)?

我想允許用戶單擊一下直接下載文件。 但是,當涉及到已知的模因類型(例如HTML,音頻,視頻等)時,就會出現問題。理想情況下,我想觸發音頻/視頻文件的下載提示。 最終,我也想對HTML文檔執行此操作。 主要思想是使用戶可以輕松下載文件,而無需要求他們導航到上下文菜單。

我認為例如對於不太喜歡計算機及其主要功能的人。 這些人肯定會比“另存為”更喜歡更好的方法。

我正在尋找JavaScript解決方案的原因是,PHP方法僅在網站環境中才有效。 每當您位於插件或注入的腳本上下文中(即為Firefox,Chrome或Safari開發插件)時,您可能都希望避免請求服務器端響應。

我試圖通過window.open()document.execCommand("saveAs",...來實現這一點,盡管它有故障並且無法處理大文件,但它確實可以工作。

然后,我嘗試了Downloadify ,它在每種情況下都無法正常工作。

是否有純JavaScript,沒有Ajax方式觸發下載提示,以便用戶可以通過簡單的左鍵單擊直接下載文件?

HTML5中有一個新的download屬性,您可以使用它注釋鏈接。 它向瀏覽器指示應該下載而不是導航到資源。 目前,它僅適用於Chrome,但它是HTML規范的一部分,並有望很快被其他瀏覽器采用。

演示: http : //html5-demos.appspot.com/static/a.download.html更多信息: http : //updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

您可以使用<a href="example" download> 這是HTML5,適用於Chrome,Firefox和Edge(但不適用於Internet Explorer,甚至不是現代版本)。

如果有人遇到這個問題,最好的解決方案是

<a href="example" download target="_blank">

如果瀏覽器支持HTML5屬性,則下載將開始下載文件,否則(對於Internet Explorer和舊的瀏覽器),該鏈接將打開另一個帶有要下載文件的選項卡窗口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM