【问题标题】:Bypass IE "The webpage you are viewing..." pop up绕过IE“您正在查看的网页...”弹出
【发布时间】:2008-12-10 20:04:20
【问题描述】:

有没有办法绕过下面的IE弹出框:

您正在查看的网页正在尝试 关闭窗口。你想要_____吗 关闭这个窗口?是|否

当我将 window.close() 添加到 asp.net 按钮控件的 onclick 事件时会发生这种情况。

【问题讨论】:

    标签: javascript asp.net internet-explorer popup


    【解决方案1】:

    在打开的弹窗中写如下

    var objWin = window.self;
    objWin.open('','_self','');
    objWin.close();
    

    【讨论】:

    • 谢谢...它对我有用,因为我在 IE9 中得到了这个弹出窗口。
    • 稍微描述一下它是如何工作的会很有帮助。谢谢你..!
    【解决方案2】:

    您的 JavaScript 代码只能关闭先前由 window.open() 打开的窗口而无需确认。这是一种有意的安全预防措施,因为在网页上运行的脚本并不拥有该窗口,并且通过关闭它会丢弃该窗口中的浏览历史记录。

    解决方法是有一个“欢迎页面”或其他某种页面,该页面首先弹出您要使用 window.open 关闭的窗口,或者告诉您的用户修改他们的浏览器安全设置以允许您的应用程序关闭其窗口。

    【讨论】:

    • 该网页是由用户单击应用程序发送的电子邮件中的链接生成的。
    • 您可以尝试制作类似your.web.app.com" onClick="window.open('your.web.app.com/'); return false" />点击我的链接。但我怀疑许多邮件客户端会运行 JavaScript。不幸的是,我认为你可能不走运。
    • 你说得对,我不走运。我不得不实施不同的解决方案。
    【解决方案3】:

    这有一个技巧。

    对于 IE 调用:

    window.open('close.html', '_self');
    

    那么在close.html中你所需要的就是:

    <script>window.close();</script>
    

    由于这实质上是在同一个命名窗口中打开一个弹出窗口,因此当“新”窗口打开时,它有一个“开启器”,因此可以关闭。

    【讨论】:

    • 我是否可以将 window.open 调用添加到锚标记的 onClick 事件中。看到 Tmdean 在答案 1 中的评论?
    • 我尝试了您的解决方案,但它在我们的环境中不起作用,因为我们的电子邮件客户端中禁用了 javascript。感谢您的意见。
    猜你喜欢
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    相关资源
    最近更新 更多