我嘗試使用window.open如下window.open不會在IE中打開
window.open("myworddoc.doc");
它工作正常,在FF,但IE瀏覽器試圖打開一個標籤一個word文檔,而是立即將其關閉並跳回當前屏幕(不顯示對話框來保存或打開文件)。
可能是什麼問題?
我嘗試使用window.open如下window.open不會在IE中打開
window.open("myworddoc.doc");
它工作正常,在FF,但IE瀏覽器試圖打開一個標籤一個word文檔,而是立即將其關閉並跳回當前屏幕(不顯示對話框來保存或打開文件)。
可能是什麼問題?
這無疑是一種安全性。使用JavaScript打開Word文檔可能會產生令人討厭的效果。想象一下,如果您正在瀏覽互聯網,並且有人在加載頁面時打開受感染的Word文檔。
就個人而言,我想創建一個PHP文件,讓我們說 「servedoc.php」,並打開該文件就像這樣:
window.open("servedoc.php");
servedoc.php可能包含這樣的事情:
<?php
$file = "myworddoc.doc";
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/msword");
header("Content-Transfer-Encoding: binary");
readfile($file);
IE將打開PHP文件,因爲它是一個完全有效的網頁文件。 PHP腳本會將文件提供給瀏覽器,要求用戶下載文件。
爲什麼你發送'application/zip'作爲內容類型? – 2012-01-16 20:31:50
Oups!複製粘貼從我有一個工作的例子。忘了更改MIME類型,謝謝指出! – jValdron 2012-01-16 20:57:17
或者,如果你使用的是.NET(VB):
Response.ContentType = "image/jpeg" 'mime type of the file to serve.
Response.AddHeader("content-Disposition", "attachment;filename=YOURFILENAME")
Response.TransmitFile(YourFILEPath)
這樣你就可以讓他們下載.doc或.zip文件,如果你喜歡。
供參考:好像在IE中的安全特徵檢查OT [此](http://stackoverflow.com/questions/459024/how-do-you-get-window-open-to-work-in-internet- explorer-7) – 2012-01-16 20:29:29
瀏覽器通常討厭使用'window.open'打開彈出窗口,除非它是由用戶觸發的操作。 – 2012-01-16 20:35:11
@Emmanuel。討論說,window.open應該基於用戶的行動觸發。我正在使用下拉值來觸發它 – DG3 2012-01-16 21:06:32