在 Chrome 中无法在卸载之前启动

发布于 2024-12-28 02:34:11 字数 250 浏览 0 评论 0原文

我在这个网站上看过类似的问题,但我不明白为什么这对我不起作用。

我安装了最新版本的chrome。
我似乎无法让以下代码在 chrome 中工作,但它在 firefox 中工作。

Hello World!

<script>
    window.onbeforeunload = function(){
        alert("brohan");
    }
</script>

I've looked at similar questions on this website, but I haven't seen why this doesn't work for me.

I have the latest version of chrome installed.
I can't seem to get the following code to work in chrome, it works in firefox though.

Hello World!

<script>
    window.onbeforeunload = function(){
        alert("brohan");
    }
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

比忠 2025-01-04 02:34:11

为了完成您想要的操作,您的脚本应该如下所示:

<script>
  window.onbeforeunload = function() {
    return "brohan";
  };
</script>

如果您也想告知 Firefox 4+ 用户为什么您要询问他们(希望有帮助的消息是 故意禁用),您可以采用以下解决方案:http://jsfiddle.net/ecmanaut/hQ3AQ/

To do what you want, your script is supposed to look like this:

<script>
  window.onbeforeunload = function() {
    return "brohan";
  };
</script>

If you want to inform Firefox 4+ users too of why you are asking them (where your hopefully helpful message is intentionally disabled), you can adopt this solution: http://jsfiddle.net/ecmanaut/hQ3AQ/

败给现实 2025-01-04 02:34:11

可能有点晚了,但我想在这里添加一些更新:

  1. window.onbeforeunload 中的自定义消息仍然被 Firefox 故意禁用(我使用的是 35.0 版本)。 :(
  2. @ecmanaut 提出的解决方法现在不起作用 - Firefox 似乎已在 onbeforeunload 处理程序中禁用了 window.alert 。在 这里

我自己在 Mac OS X 的 Firefox 35.0 中尝试过

var isFirefox = /Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) > 4;
window.onbeforeunload = function(e) {
  if (isFirefox) {
    window.alert('You are in firefox. Leaving this page you may lose some data.');
    return '...';
  }
  else {
    return 'Leaving this page you may lose some data.';
  }
 }

:刷新/单击外部链接,此代码段不会触发警报功能,也不会触发浏览器的默认警报框,它只会离开页面

It may be late but I want to add some update here:

  1. Custom message in window.onbeforeunload is stilled intentionally disabled by Firefox (I am using version 35.0). :(
  2. The workaround raised by @ecmanaut is not working now -- it seems Firefox has disabled window.alert within the onbeforeunload handler. Described in here

And I've tried it myself in Firefox 35.0 in Mac OS X:

var isFirefox = /Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) > 4;
window.onbeforeunload = function(e) {
  if (isFirefox) {
    window.alert('You are in firefox. Leaving this page you may lose some data.');
    return '...';
  }
  else {
    return 'Leaving this page you may lose some data.';
  }
 }

When refreshing/clicking external links, this snippet won't fire the alert function, neither the default alert box from browser. It just leave the page.

Hope this message helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文