Javascript 艾元';t在使用window.open创建的窗口中加载PDF

Javascript 艾元';t在使用window.open创建的窗口中加载PDF,javascript,internet-explorer,window,new-operator,window.open,Javascript,Internet Explorer,Window,New Operator,Window.open,这里有一个问题,只出现在Internet Explorer(IE)中。我有一个页面,其中包含指向几种不同类型文件的链接。来自这些文件的链接执行一个Javascript函数,该函数打开一个新窗口并加载特定文件。这非常有效,除非我需要在新窗口中打开的文件是PDF,在这种情况下,窗口是空的,即使URL在地址字段中。使用F5刷新该窗口没有帮助。但是,如果我将光标放在地址字段中,然后按,PDF将立即加载 这个问题只发生在IE中。我在IE 7和8中看到过,我正在使用AdobeAcrobatReader9。在

这里有一个问题,只出现在Internet Explorer(IE)中。我有一个页面,其中包含指向几种不同类型文件的链接。来自这些文件的链接执行一个Javascript函数,该函数打开一个新窗口并加载特定文件。这非常有效,除非我需要在新窗口中打开的文件是PDF,在这种情况下,窗口是空的,即使URL在地址字段中。使用F5刷新该窗口没有帮助。但是,如果我将光标放在地址字段中,然后按
,PDF将立即加载

这个问题只发生在IE中。我在IE 7和8中看到过,我正在使用AdobeAcrobatReader9。在Firefox(PC和Mac)中,一切都完美运行。在Chrome(Mac)中下载PDF。在Safari中,它可以正常工作。在Opera(Mac)中,它会提示我打开或保存。基本上,除了IE,所有的东西都可以正常工作

我搜索过类似的问题,也看到过一些帖子,其中建议调整IE上的一些互联网选项。我尝试过这样做,但没有帮助,而且问题也不完全一样

下面是我用来打开新窗口的Javascript函数

function newwin(url,w,h) {
   win = window.open(url,"temp","width="+w+",height="+h+",menubar=yes,toolbar=yes,location=yes,status=yes,scrollbars=auto,resizable=yes");
   win.focus();
}
您可以看到我传入了URL以及窗口的高度h和宽度w。我已经使用这样的函数很多年了,据我所知,我从来没有遇到过问题

我使用此函数调用
newwin()
函数

<a href="javascript:newwin('/path/document.pdf',400,300)">document.pdf</a>

(是的,我知道还有其他比使用内联JS更好的方法,我甚至尝试过其中的一些方法,因为我已经没有东西可以尝试了,但没有任何效果。)

因此,如果有人知道是什么导致了这个问题,我很乐意听听。

试试:

function newwin(url,w,h) {
     var win = window.open("","temp","width="+w+",height="+h+",menubar=yes,toolbar=yes,location=yes,status=yes,scrollbars=auto,resizable=yes");
     win.location.href = url;
     win.focus();
}

我用一个不可见的iframe解决了这个问题

<div id="iframe" style="display: none">
  <iframe id="frm" style="display: none"></iframe>
</div>
在我的例子中,行为就像我正在使用的弹出窗口中打开文档一样

Content-Disposition: attachment; filename="document.pdf"

我有一个类似的问题,在应用您的解决方案后,pdf现在呈现得非常好。你能解释一下这是怎么回事吗?是安全区还是安全区?为什么当我只使用window.open时它不工作?我很确定这只是IE实现中的一个bug(和往常一样)。如果这是一个安全问题,那么它根本不会起作用。
Content-Disposition: attachment; filename="document.pdf"