2011-07-01 72 views

回答

2

你試圖做

document.open('text/plain'); 
document.write('Save me'); 

?雖然我真的不明白這是如何表明一個文件名,當一個人試圖保存。看起來你正在繪製新的(並且非常不明確的)領域。

+0

是的好友!這就對了。它至少適用於Firefox。我可以使用history.pushState(「」,「」,「newTitle.csv」);在發送代碼之前更改標題。謝謝。 – VitoshKa

+0

嗯,我不是100%肯定建議一個文件名與history.pushState()*應該*工作;)但至少你可以享受找到了一個解決方案,而它持續.. – hallvors

+0

文本/平原與文檔。開放似乎不被Safari或Chrome支持。 –

1

這頭添加到響應:Content-Type: text/plain

+0

我實際上需要一個純粹在客戶端使用javascript的解決方案。使用document.write(「」)沒有給出期望的結果。或者我錯過了什麼? – VitoshKa

+0

當它進入document.write時,瀏覽器已經通過查看標題或通過執行MIME嗅探或恢復爲默認值來計算出MIME類型。 – Mrchief

0

這將這樣的伎倆

Response.AddHeader("content-disposition", "attachment; filename=" + fileName); 

希望它幫助。

+0

這將導致文件下載對話框顯示。該頁面不會被呈現爲文本。 – Mrchief

+0

關於如何在客戶端執行操作的任何想法?謝謝。 – VitoshKa

+0

nope我不這麼認爲,你必須從服務器設置標題並從那裏發送數據,這將導致一個標籤打開並且下載窗口將出現,然後標籤將自動關閉。 –