2016-09-15 45 views
0

正如標題所述,我正在使用jQuery的網站上工作。 由於用戶需求的變化,我們現在需要讓用戶下載文件,然後才能查看它們。 我有需要下載的文件的位置(url)。 不幸的是,我沒有任何運氣,因爲Internet Explorer正在......呃... Internet Explorer。如何通過jQuery或Javascript在IE9和11中顯示「另存爲」對話框

我的例子是下載一個.xml文件。而不是顯示另存爲對話框,它會在Internet Explorer中打開。另一方面,對於Word文件,下載是正確的。

我試過使用href與<a target="_blank" href=" + targetUrl + ">,這並沒有幫助。 然後我試圖document.execCommand('SaveAs',true,fileUrl);這也沒有幫助。

在網上查找時,我發現沒有提到任何工作解決方案,這讓我質疑這是否可能。

所以我的問題是你是否可以強制IE9和11顯示另存爲對話框,無論用戶設置與否。

+0

你有訪問服務器端嗎? –

+0

我沒有訪問服務器端的權限。這必須發生在前端。服務器端會使它更容易: – whodares

+0

因爲你有xml url,爲什麼你不能讀取內容並將它寫入一個xml文件? –

回答

0

爲元素a添加一個id。

var element = document.getElementById('a'); 
var oWin = window.open("yourlink", "_blank"); 
oWin.document.write('text'); 
oWin.document.close(); 
var success = oWin.document.execCommand('SaveAs', true, element.id) 
+0

謝謝,但它沒有幫助。它創建一個文本文件,其中包含單詞文本。我只有該文件的網址,而不是實際的文件內容。 – whodares

0

我不確定我是否理解你的問題。那麼使用這個怎麼樣

<a href={file.downloadUrl} download={file.name}>{ file.name }</a> 
+0

正如問題中提到的那樣,我已經使用了它,但它不起作用。它給了我所描述的情況,文件類型直接在IE中打開,而不是另存爲對話框。 – whodares

+0

我沒有在IE中測試過,但「下載」屬性很重要 –

+0

IE似乎不支持下載屬性。我也必須在IE9中使用這個工具,所以完整的html5解決方案可能也不行。 – whodares

相關問題