JavaScript Chrome 更新后无法使用

JavaScript not working after Chrome update

我经常不小心关闭 Chrome 浏览器,不得不重新打开并重新加载我一直在使用的所有选项卡。由于 Chrome 没有内置关闭前确认机制,我写了一个简单的页面来要求关闭前确认。我在其他选项卡中打开该页面。

<!DOCTYPE html>
<html>
    <body>
    <p>This page is to prevent accidental closing of Chrome.</p>
        <script language="JavaScript">

            window.onbeforeunload = function () {
                return "Are you sure?";
            };
        </script>
    </body>
</html>

最近我将我的 Chrome 浏览器从版本 56 更新到 60。现在代码似乎不起作用,因为它在关闭前不再要求确认。我尝试了来自互联网的许多不同变体,但 none 似乎有效。

注意:我是网络开发的新手。

根据 MDN docs :

To combat unwanted pop-ups, some browsers don't display prompts created in beforeunload event handlers unless the page has been interacted with; some don't display them at all.

所以,我认为你的功能不能保证运行,尤其是因为 Chrome 60 明确具有第一个行为。来自 notes:

From Chrome 60 onward, the beforeunload dialog will only appear if the frame attempting to display it has received a user gesture or user interaction (or if any embedded frame has received such a gesture).

因此,如果您想继续使用这种方法,您可能需要在会话的某个时刻与该页面进行交互。

或者,要打开您在重新启动时打开的所有选项卡 Chrome,请尝试按 Ctrl-Shift-T