Закрытие междоменного всплывающего дочернего окна в IE - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть страница 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?

...