我有一个页面index.html
(属于域,例如localhost:8040
),在该页面上,单击按钮时,会弹出不同域的子窗口({{ 1}})打开。
然后,如果用户单击父窗口页面(www.google.com
)上的任意位置,则打开的弹出窗口应关闭。
index.html :
document
它可以在Chrome,Firefox,Edge和Opera中正常运行,但不能在Internet Explorer(IE11)中运行。
当我在IE控制台中签入时,弹出窗口打开后变量<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body onclick="closePopUp()">
<div id="container">
<button id="Btn">Click</button>
</div>
<p id="Msg"></p>
<script type="text/javascript">
var popupWin;
$(document).ready(function() {
$("#Btn").click(function(e) {
e.stopPropagation();
popupWin = window.open("https://www.google.com/", 'mywin', 'height=500, width=1000, left = 200, top = 100');
$(document).click(function() {
if (popupWin && confirm("Do you want to close the popup?")) {
popupWin.close();
}
$(document).unbind('click');
});
});
});
</script>
</body>
</html>
是popupWin
。
但是,如果打开的弹出窗口与父窗口属于相同的域(null
),那么它也可以在IE中使用。
任何想法如何为IE中的跨域弹出窗口实现类似的功能?