Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使下载链接在卸载前不触发_Javascript_Html_Download_Anchor_Onbeforeunload - Fatal编程技术网

Javascript 使下载链接在卸载前不触发

Javascript 使下载链接在卸载前不触发,javascript,html,download,anchor,onbeforeunload,Javascript,Html,Download,Anchor,Onbeforeunload,我有一个用户输入大量信息的应用程序。因此,在卸载之前使用事件非常重要,这样用户就不会意外地离开页面并失去进度。但是,该应用程序还需要下载链接,问题是,即使下载不会导致用户离开页面,单击这些下载链接也会触发beforeunload事件 我如何设置此设置,以便用户在离开页面之前必须确认,但此确认不会通过单击下载链接触发 您可以在此处的可复制示例中看到整个过程: 实时页面: 源代码: 您可以在和/或元素中使用必需的属性来阻止提交,直到完成必需的字段 看 也 您可以在和/或元素中使用必需的属

我有一个用户输入大量信息的应用程序。因此,在卸载之前使用
事件非常重要,这样用户就不会意外地离开页面并失去进度。但是,该应用程序还需要下载链接,问题是,即使下载不会导致用户离开页面,单击这些下载链接也会触发beforeunload事件

我如何设置此设置,以便用户在离开页面之前必须确认,但此确认不会通过单击下载链接触发

您可以在此处的可复制示例中看到整个过程:

  • 实时页面:

  • 源代码:


您可以在
和/或
元素中使用
必需的
属性来阻止
提交,直到完成
必需的
字段


您可以在
和/或
元素中使用
必需的
属性来阻止
提交,直到完成
必需的
字段


这是一种黑客行为,但我认为它会阻止卸载前
事件在下载链接上触发:

<a href="somefile.txt" download target="_blank">Download</a>


基本上,在元素中添加
download
属性和
target
属性。

这是一种黑客行为,但我认为它可以防止下载链接触发
beforeunload
事件:

<a href="somefile.txt" download target="_blank">Download</a>


基本上,向元素添加
download
属性和
target
属性。

谢谢,这样就可以了!尽管它确实有一些负面的副作用(safari将其视为一个弹出窗口并试图阻止它)。有什么办法可以避免吗?谢谢,就是这样!尽管它确实有一些负面的副作用(safari将其视为一个弹出窗口并试图阻止它)。有办法避免吗?