当我尝试检查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文档的弹出状态?
答案 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;
}