绑定到 `onbeforeunload`

2024-04-23

我希望绑定到<svelte:window>但没有运气。

<!-- doesn't work -->
<svelte:window on:beforeunload={() => true} />

<!-- doesn't work -->
<svelte:window on:onbeforeunload={() => true} />

<!-- doesn't work -->
<svelte:window on:beforeUnload={() => true} />

在所有情况下,window.onbeforeunload is null

我最终只是去了window.onbeforeunload = () => true但想知道为什么元素上的设置不起作用。


您需要设置事件returnValue使用时svelte:window https://svelte.dev/docs#template-syntax-svelte-window

<script>

  function beforeUnload() {
    // Cancel the event as stated by the standard.
    event.preventDefault();
    // Chrome requires returnValue to be set.
    event.returnValue = '';
    // more compatibility
    return '...';
  }

</script>

<svelte:window on:beforeunload={beforeUnload}/>

这样做的原因是,写作on:event={handler}in svelte,相当于写作node.addEventListener(event, handler, options)

事实证明,在附加时beforeunload using addEventListener, then 你需要设置事件returnValue和/或返回一个值 https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event

但请注意,并非所有浏览器都支持此方法,有些浏览器 相反,要求事件处理程序实现两个旧版本之一 方法:

  • 将字符串分配给事件的 returnValue 属性
  • 从事件处理程序返回一个字符串。

使用注册事件window.onbeforeunload只需要一个返回值

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绑定到 `onbeforeunload` 的相关文章

随机推荐

  • 更改控制台大小

    Delphi中的简单问题 我创建了一个控制台应用程序 如果控制台窗口的高度少于 80 行 我需要将其高度更改为 80 行 这需要从代码中完成 并且实际上是在代码内有条件的 即 当发生错误时 它会增加控制台的大小 以便整个 巨大的 错误报告可
  • NSIS:在标签中插入链接

    假设我有以下 nsDialog 标签 单击 接受 即表示我同意示例的许可协议和隐私政策 您可以访问需要使用个人信息的功能 欲了解更多信息 请下载示例的内容政策 我想在此标签中插入链接 如下所示 单击 接受 即表示我同意示例的内容许可协议 h
  • 动画 GIF 作为 THREE.js 中的纹理

    我正在寻找一种在 THREE js 中使用 GIF 动画作为纹理的方法 我目前可以加载纹理 甚至是 GIF 格式 但它无法播放动画 有什么办法可以做到吗 我发现了一些像这样的链接 https github com JordiRos GLGi
  • 如何从 JavaScript 变量保存 png

    我在 javascript 变量中有一个以 base64 编码的图像 data image png base64 base64 data 编辑 我需要将该文件保存到磁盘而不要求访问者右键单击 编辑 是否可以 如何 提前致谢 此致 我知道这个
  • 如何从 Rails 中的 RSpec 测试调用应用程序帮助器方法?

    标题是不言自明的 我尝试过的一切都导致了 未定义的方法 澄清一下 我并不是想测试辅助方法 我正在尝试在集成测试中使用辅助方法 您只需在测试中包含相关的帮助程序模块即可使方法可用 describe foo do include ActionV
  • Knockout:避免绑定中的循环更新

    我有一个与接口交互的自定义 绑定Scribe https github com guardian scribe 一个内容可编辑的所见即所得编辑器 当编辑器内容发生变化时 它会更新关联的可观察量 并在关联的可观察量发生变化时更新编辑器 ko
  • 将属性添加到对象数组

    我有一个对象数组 如下所示 Object Results Array 2 Results Array 2 0 1 0 Object id 1 name Rick 1 Object id 2 name david 我想向该对象数组的每个元素添
  • 如何在 Node.js 中无限读取行

    while 1 rl question Command function answer console log answer 刚刚尝试了这段代码 但不是一一输入 而是闪烁 命令 行 我知道 Node js 是非阻塞的 但我不知道如何解决这个
  • 是否可以在 Flutter 的 IconButton 中使用 DropDownButton?

    Update override Widget build BuildContext context return new Container height MediaQuery of context size height child Si
  • 数据湖分析 U-SQL 提取速度(本地与 Azure)

    一直在研究使用 Azure Data Lake Analytics 功能来尝试操作我存储在 Azure Blob 存储中的一些 Gzip 处理的 xml 数据 但我遇到了一个有趣的问题 本质上 当在本地使用 U SQL 处理 500 个 x
  • WordPress:获取自定义类型的所有帖子

    我有这个奇怪的问题 我想获取所有自定义类型的帖子 这是我的代码片段 query new WP Query array post type gt custom post status gt publish while query gt hav
  • ServerEndpoint 和 web.xml

    我有一些 Soap REST servlet 现在还有一个 WebSocket ServerEndpoint game public class WebSocketgame 我有下一个麻烦 如果 web xml 存在 WebSocket 不
  • 使用 google/facebook 和自定义 Nodejs 服务器进行 Firebase 身份验证

    我正在尝试将 firebase 身份验证与我的自定义 Nodejs 服务器集成 电子邮件 密码策略非常简单 因为管理 sdk 支持所需的所有操作 然而 对于提供商来说 文档指示我们手动处理登录流程 https firebase google
  • AttributeError:“模块”对象没有 tf.app.run() 的属性“main”

    我正在尝试测试一个简短的程序 该程序非常简单 如下所示 import numpy as np import tensorflow as tf flags tf app flags FLAGS flags FLAGS import tenso
  • SQL 规范是否提供了一种更好的方法来对两个集合进行异或运算?

    我有一个结果集A即 10 行 1 10 1 2 3 4 5 6 7 8 9 10 and B这是 10 行 由偶数 1 20 组成 2 4 6 8 10 12 14 16 18 20 我想找到一组中的元素 但不是同时找到两者中的元素 行中没
  • 跨子域和主机的 Cookie

    在我使用开发环境和语言组合编写的应用程序中 我需要从两个不同的子域 每个子域位于单独的主机上 访问 cookie cookie 正在设置www mydomain com使用下面的 PHP 代码 我尝试从distant mydomain co
  • 如何以编程方式查找 Swift 的版本?

    我知道我可以找到我现在正在运行的 Swift 版本 恢复到终端并输入 xcrun swift version Swift version 1 1 swift 600 0 57 4 Target x86 64 apple darwin13 4
  • 从注册表中读取已知的文件扩展名/类型

    我想向用户提供已知文件扩展名的列表供他选择 我知道它们通常存储在注册表中的 HKEY CLASSES ROOT 下 如下所示 txt gt 默认 txtfile 其中 txtfile 包含有关关联程序等的信息 不幸的是 注册表中的该位置还存
  • 在 Laravel 5 中设置全局变量

    将变量添加到可跨控制器和视图访问的 Laravel 框架的最佳方法是什么 我不想用 env用于存储变量 因为它无法通过 Git 获得 您可以在其中创建一个文件config文件夹 例如 config constants php 在consta
  • 绑定到 `onbeforeunload`

    我希望绑定到