【问题标题】:How do I prevent a script from closing the window/tab in Chrome?如何防止脚本关闭 Chrome 中的窗口/选项卡?
【发布时间】:2018-08-31 00:41:03
【问题描述】:

我正在调试 SSO 应用程序,我需要阻止窗口关闭,以便检查请求和响应。我试图禁用 Javascript,但登录流程需要 Javascript。网络 > 保留日志也不起作用。固定标签也不起作用。在它关闭之前有几个重定向。我无权访问 SSO 服务器的代码。如何防止脚本关闭窗口?

【问题讨论】:

    标签: google-chrome google-chrome-devtools


    【解决方案1】:

    我可以通过在隐身窗口中打开链接来做到这一点。当它试图自行关闭时,Chrome 会发出警告

    脚本只能关闭它打开的窗口。

    一开始我没有打开窗口的脚本。相反,我使用的是target="_blank",但 Chrome 可能已将其等同于脚本。 (window.opener 已设置。)

    【讨论】:

    • 酷!感谢您分享解决方案。请“接受”你的回答!
    【解决方案2】:

    看看这些链接是否有帮助:

    how to block users from closing a window in javascript?

    看看onBeforeUnload。

    它不会强迫某人留下,但会提示他们询问他们是否真的想离开,这可能是您可以管理的最佳跨浏览器解决方案。 (如果您尝试在回答中途离开,则类似于此网站。)

    <script language="JavaScript">
        window.onbeforeunload = confirmExit;
        function confirmExit() {
            return "You have attempted to leave this page. Are you sure?";
        }
    </script>
    

    此链接也可能适用于您的特定用例:

    Prevent script opened windows from closing them

    【讨论】:

    • 这与我想要的几乎相反。那就是以编程方式阻止用户关闭选项卡,而我想手动阻止脚本关闭选项卡。
    • 我尝试了window.close = function(){},但window 对象在第一次重定向后被重置。
    猜你喜欢
    • 2018-07-30
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-11
    相关资源
    最近更新 更多