Просматриваемая веб-страница пытается закрыть это окно предупреждения в Internet Explorer - PullRequest
2 голосов
/ 02 марта 2009

У меня есть страница входа, и если вход успешен, я открываю домашнюю страницу как всплывающее окно. В IE 6.0 я не сталкиваюсь с проблемой, но IE.7.0 показывает мне предупреждение "Просматриваемая веб-страница пытается закрыть окно. Хотите закрыть окно? ". Когда я добавляю коды, чтобы помешать ему, теперь IE 7.0 не дает мне предупреждения, но IE 6.0 дает ту же проблему. Как я могу решить эту проблему?

Dim strScript As String = "<script language= ""javascript"">window.open('" & Class.cls_LU_PARAMETRE.Deger("START_PAGE") & "','" & Now.ToString("ddMMyyyyHHmmss") & "','resizable=1,width=1015,height=700,left=0,top=0,scrollbars=1,status=1');</script>"
Me.RegisterStartupScript("start", strScript)

Я добавляю этот код для предупреждения IE 7.0

Dim s As String
s = "<script language= ""javascript"">"
s += " {var oMe = window.self;oMe.open('','_self',''); oMe.close();}"
s += " </script>"""
Me.Page.RegisterStartupScript("close", s)

'******************** 

Ответы [ 5 ]

10 голосов
/ 02 марта 2009

Это функция безопасности. В конце концов, как бы вам понравилось, если бы какой-нибудь веб-сайт, на который вы зашли, решил закрыть ваше окно браузера?

Самый правильный способ избежать этого - открыть окно браузера из javascript. Когда вы это делаете, родительское окно может закрывать окно, не спрашивая пользователя.

3 голосов
/ 20 октября 2011

Javascript может закрыть окно, если его открывает код JavaScript.

Открыть окно, используя JavaScript

<script type="text/javascript">
    function openWin(url, target, args){
        if(target && args)window.open(url, target, args);
        else if(target)window.open(url, target);
        else window.open(url);
    }
</script>
<a href="javascript:openWin('close.html');">Open window</a>
<a href="close.html" target="_self">Open window that won't close</a>

Закрыть окно, используя JavaScript

<a href="javascript:if(window.opener)window.close();">Close window</a>

Это просто и работает в IE6, 7, 8, 9, Chrome, FF, Opera, Safari и т. Д. Я проверял это

2 голосов
/ 18 февраля 2011
 function openpopup()
 {


     {
         var closeurl = "Default2.aspx";
        var popurl = "FrmUserLoginpage.aspx";
        winpops = window.open(popurl, "HMSAJAX", "toolbar=no,menubar=no, resizable=yes,status=yes,scrollbars=yes");
        window.open('', '_self', '');
        window.close();

    }

}
2 голосов
/ 17 января 2010

другое решение

window.opener = "";
window.close();
1 голос
/ 02 марта 2009

Вы можете исправить это в IE, установив свойство self.opener:

self.opener = this;
self.close();

РЕДАКТИРОВАТЬ: похоже, что MS, возможно, исправил эту ошибку (это всегда был эксплойт). Похоже, вам не повезло, если вы сами не открыли окно и не закрыли его на той же странице, которая его открывает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...