У меня есть страница index.html
(принадлежащая домену, скажем, localhost:8040
), где при нажатии на кнопку открывается всплывающее дочернее окно другого домена (www.google.com
).
Затем, если пользователь щелкнет в любом месте на странице (document
) родительского окна, открытое всплывающее окно должно закрыться.
index.html
<!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>
Он отлично работает в Chrome, Firefox, Edge и Opera, но НЕ работает в Internet Explorer (IE11).
Когда я проверяю в консоли IE, переменная popupWin
равна null
после открытия всплывающего окна.
Но если открытое всплывающее окно принадлежит тому же домену (localhost:8040
), что и родительское окно, то оно работает и в IE.
Есть идеи, как добиться аналогичной функциональности для междоменного всплывающего окна в IE?