我们要求在新窗口中打开外部应用程序,并且仍然有一个句柄可以关闭它。
这些是我们必须遵守的限制:
到目前为止,我们尝试过window.open并进行了几次扭曲和调整,但任何解决方案都无法在IE 8或更高版本中运行。
我们在微软论坛上提出了一张票,但只是想知道,如果有任何替代window.open来实现这一点。
系统配置:
Windows 7-64bit操作系统,IE 8.0.7601.17514,256密码强度。
未解决的挑战是获得一个句柄并关闭新窗口。
我们尝试过的选项:
方法1:
var handle = window.open("http://www.example.com/details.jspuser=test&age=20", "windowname");
handle.close(); // Here handle is coming as null.
方法2:
JavaScript的:
var target = "windowname";
var handle = window.open("about:blank",target);
if(handle!= null) // here we are getting the handle object
{
document.getElementById('form1').target = target; // setting the target to Pop window
document.getElementById('form1').submit(); // Now this will submit the form and send the GET request to pop up
alert(handle.closed); // Noticed that this line is giving "true", even though we have not closed the pop up
handle.close(); // does not close the pop up window
}
HTML
<form id="form1" method="GET" action="http://www.example.com/details.jsp
<input type="hidden" name="user" value="test">
<input type="hidden" name="age" value="20">
</form>
解决方法:
如果我们以受保护模式打开浏览器:此问题会解决。