window.onbeforeunload错误

时间:2009-09-19 09:58:37

标签: javascript

我们目前有一个JS,只要访问者想要离开网站,就会弹出一个窗口。它工作正常,除了在浏览器上按下后退按钮时,即使我们在网站上,它也会弹出警报。 我们想解决这个问题。

请注意: - 我们不想禁用后退按钮 - 我们不想删除历史

JS函数是onbeforeunload。 每当用户想要离开网站时,它目前正在加载。当用户浏览网站时,在我们不想触发弹出窗口的每个链接上,我们添加:onClick =“changes = true;”到了href。

正如我所提到的,问题是当用户点击按钮,FWD并且有时刷新时。

这是网址网址link text

2 个答案:

答案 0 :(得分:10)

完全删除onbeforeunload-Event。不要欺负你的访客!如果他们想要离开你的网站,你不应该试着把它们留在那里,这很烦人。

使用onbeforeunload-event的唯一正当理由是,当用户更改网站上的内容并尝试离开网站而不保存更改时。

答案 1 :(得分:1)

+1什么是stefanw说的。不要这样做。每个人都会嘲笑你的网站。

您无法区分关闭窗口的人和使用后退/前进/刷新按钮或书签的人之间的卸载,或只是输入新地址。

这样做的唯一方法是让另一个(例如弹出窗口)窗口出现,持续监视另一个窗口以检查URL。如果window.closed,或由于同源限制而无法访问该网址,则该用户已离开您的网站,然后您可以弹出一些唠叨的内容。

特别是不要这样做。每个人都讨厌弹出窗口,只会关闭弹出窗口。每个人都讨厌唠叨。弹出窗口和唠叨在一起是不再有网站访问者的秘诀。

我再看一下你的网站是什么。继续弹出窗口。或者为什么不删除您的网站并找到真正有用的内容,而不是将自己与网络上最糟糕的垃圾邮件发送者联系起来?