使用window.open()打开PDF时,IE中的window.closed问题

时间:2013-11-12 14:25:36

标签: javascript internet-explorer pdf popup

当我尝试检查IE中弹出窗口的状态时,我遇到了问题。

function openPopup(url)
{
    myWindow =  window.open(url, "_blank", "resizable=1,status=0,toolbar=0,menubar=0");
}

function checkPopup()
{
    console.log('Is closed : ' + myWindow.closed);
}

如果我拨打 openPopup('http://someUrl.org/someHtml.html')并在一段时间后调用checkPopup(),一切正常,我会得到“已关闭:false”进入控制台,但是当我打电话给 openPopup('http://someUrl.org/somePdf.pdf')时,经过一段时间的 checkPopup()功能,我得到“已关闭:真实”进入安慰。

似乎IE在其中创建了带有pdf的新窗口,而不是使用window.open()创建的窗口

有人能帮帮我吗?如何在其中获得包含PDF文档的弹出状态?

1 个答案:

答案 0 :(得分:1)

通过在弹出窗口中使用嵌入式iframe修复:

function openPopup(link) {
    var html = "<html><head><title></title>";
    html += "</head><body style='margin: 0;'>";
    html += "<iframe height='100%' width='100%' src='" + link +"'></iframe>";
    html += "</body></html>";
    win = window.open("", "_blank", "resizable=1,status=0,toolbar=0,menubar=0");
    win.document.write(html);
    return win;
}