问题标签 [onbeforeunload]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
254 浏览

html - vb.net - 如何自动关闭javascript提示框

我将如何让我的应用程序在离开页面之前自动关闭一个 onbeforeunload 提示框?

示例:http ://sharecash.org/download.php?file=234324234324324324 (尝试离开或关闭页面)

0 投票
2 回答
2303 浏览

javascript - JavaScript:在 HttpRequest 完成之前不要卸载文档

我需要确保当有人重新加载或关闭我的页面时,他们的进度会被保存。为了节省进度,我做了一个POSTvia XMLHttpRequest(),将数据发送到服务器。我在一个事件中触发了这个saveData()函数。window.onbeforeunload

问题是,它会进行saveData()一些计算,然后调用 asendData(content)来最终实际发布数据。如果我正在处理和发送的数据很大(> 100kB),则窗口似乎在所有数据都通过服务器之前关闭。(我正在发送一张图片,有时我在另一边只收到一半)

http请求是同步的xhr.open("POST", url, false),但这似乎并没有削减它。

所以我的问题是,如何防止 onbeforeunload 函数终止 UNTIL xhr.readyState == 4?我如何让它等待那个事件?

哦,而且setTimeout()不会工作。窗口将在“时间”到来之前关闭。

这不起作用:

感谢您的任何见解!

PS:这不应该是“坏习惯”,因为它只需要几秒钟,我不希望用户必须手动保存。此外,在他工作时保存(如在他关闭窗口之前)会减慢应用程序的速度,所以我不能这样做。

[编辑] 作为一种临时措施,如果用户决定留在页面上,我会使用这个技巧来自动保存数据。但是,我真的不想使用任何警报消息。:(

0 投票
1 回答
2439 浏览

javascript - Chrome 为什么/如何对待 onbeforeunload 与其他浏览器不同?

在 chrome 和 firefox/IE 中试试这个:

在 FF/IE 中,刷新,在第一个提示上点击取消,等待大约六秒钟,然后尝试刷新。'wups' 将被触发。但是,在 Chrome 中,您可以随意等待,并且 cancelPressed 永远不会设置为 true。

你怎么看?

0 投票
3 回答
538 浏览

javascript - onbeforeunload 的问题

我在 onbeforeunload 和阻止用户退出页面时遇到问题:当用户想要退出时,我想将他重定向到其他页面,没有任何警告或弹出窗口

我尝试弹出该页面,但浏览器弹出窗口检测到并阻止它。

这样的事情可能吗?

祝你今天过得愉快!

0 投票
3 回答
24091 浏览

php - 在javascript中执行php脚本?

当用户离开我的网站时,我试图运行一个快速的 php 脚本,并将一个变量从我的 javascript 传递给 php,但我不太确定如何包含 php 文件并将其传递给一个 var。但它实际上并没有运行 php 脚本。有任何想法吗?

(javascript从外部活动函数获取用户名,我知道我在警报上测试了var并且它在那里。)

我的 JavaScript:

我的 RemoveUserOnDisconnect.php 文件:

0 投票
3 回答
7900 浏览

javascript - 在卸载确认取消之前捕获?

当用户离开页面时我想做一些事情,我添加了这段代码

这个提示可以通知用户,用户可以留在页面上,也可以离开。但我想更多地知道他是否离开,并按照他的决定做事。我试过这个,

但是失败了!!它总是消失!

任何机构都可以帮我这样做吗?

0 投票
1 回答
520 浏览

silverlight - Silverlight 模态对话框干扰浏览器的 onbeforeunload 对话框

我在一个 Silverlight 4.0 项目中,我们有各种窗口和对话框,其中一些是模态的。在托管 HTML 中,我们绑定了onbeforeunload事件,以便我们可以在用户的​​浏览器强制用户丢失 Silverlight 应用程序的任何更改(例如,意外按 F5)之前警告用户。

但是,如果 Silverlight 应用程序中恰好显示了一个模式,则浏览器的 onbeforeunload 对话框将从视图中隐藏,并且用户无法单击任何内容。唯一的办法就是杀死浏览器进程。到目前为止,我们在 IE8 和 IE8 中都观察到了这一点。

有人遇到过这种情况么?如果是这样,您使用了哪些解决方法?

0 投票
1 回答
909 浏览

jquery - 在窗口卸载之前调用 jquery ajax 函数的最终方法是什么?

我需要在窗口卸载之前调用 jquery ajax() 函数。在我的情况下,它是一个 POST,我不关心返回结果,我只想更新一个数据库。

所以答案似乎是将一个函数绑定到 unload 事件,即使用 jquery unload() 函数,并且该函数进行 ajax 调用。另外,我知道您应该在调用中添加同步参数。换句话说,将 async: false 添加到 jquery ajax() 调用中。

但是,我已经尝试了所有这些,但它在 IE8 上不起作用!我已经测试了很多次,它根本无法在 IE8 上运行。在 Firefox 和 Chrome 中运行良好。

更奇怪的是,当我关闭整个 IE8 应用程序后,似乎调用就通过了!是否被缓存?

所以其他人建议使用 jquery bind() 绑定 ajax beforeunload。然而,关于这是否适用于所有浏览器似乎有一些混合的答案。

我还没有尝试过 beforeunload,因为这似乎是一种“hack”方式。但是,如果它有效,那么我真的不在乎,只要它有效。

0 投票
1 回答
613 浏览

javascript - 为什么 Firefox 4 会触发两次 beforeunload 事件?

我有一个网页可以捕捉到“beforeunload”事件,以便为用户建立一个确认对话框。在 Firefox 4 和 5 中,我发现在关闭页面时也会关闭浏览器,此对话框会出现两次。此外,如果用户第二次单击“停留在页面上”,则浏览器将不再允许关闭各个选项卡。不过,您仍然可以关闭整个浏览器。

我认为这是一个 Firefox 错误,但有什么解决方法吗?

0 投票
1 回答
535 浏览

javascript - 带有Jquery事件的Javascript onbeforeunload错误

我有提交按钮 submit_marksheets,在此之前提交标记它会要求确认。

我还有一件事是每当进行更改并且用户将单击另一个页面然后它会要求“保存更改”确认。

这些代码我在下面给出。问题是当我单击提交标记表按钮时,它会发出警告。但是在我点击其他页面后,onbefore unload 没有调用。我不知道为什么。

谁能告诉我如何解决这个问题?