在IE8中触发下载的问题

时间:2011-06-29 16:50:29

标签: javascript internet-explorer internet-explorer-8

我正在研究一些代码,它应该从一个弹出窗口触发下载,该窗口在IE7中工作但在IE8中破坏(也在chrome和firefox中工作)。情况是父窗口来自不同的域,然后是下载链接,并打开一个弹出窗口(例如,http://someother.domain.com/downloadHelper.jsp),生成并返回此位的javascript:


downloadURL=http://someother.domain.com/downloadServlet?content=blarg.txt
snip...
window.opener.top.location.href = downloadURL;
snip...

使用fiddler / js调试来查看浏览器的步骤 - 在IE7中我看到了这个

  1. 出现主弹出窗口并请求downloadHelper.jsp
  2. window.opener行导致下载Servlet的请求
  3. 主窗口出现IE的下载对话框。
  4. 然而,在IE8中我看到了:

    1. 出现主弹出窗口并请求downloadHelper.jsp
    2. window.opener行打开一个新的弹出窗口,发出下载Servlet的请求
    3. 两个弹出窗口都关闭,没有IE下载对话框
    4. 关于这里发生了什么的任何想法?

1 个答案:

答案 0 :(得分:2)

X-UA-Compatible: IE=EmulateIE7添加到您的页面或响应标题中,以强制IE8和9使用IE7文档模式(仅当您100%确定访问者将使用IE浏览器时)。