我尝试使用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