我想根据onbeforeunload事件导致用户点击的内容执行某项操作。例如,如果用户点击“留在当前页面上”然后执行某些操作,则执行其他操作。
我无论如何都无法获取onbeforeunload的返回值并根据它执行某些操作。
任何帮助将不胜感激。
答案 0 :(得分:2)
不幸的是,你无法做到这一点。好吧,不是直接的。 onbeforeunload
要求浏览器打开一个对话框,但它并没有告诉您结果。
您可以做的一件事是将全局变量设置为false
,并在触发onbeforeunload
时将其设置为true
。然后,您可以setInterval
检查该变量,当它变为真时,假设他们点击了“保持”#。
当用户离开页面时,您还可以使用onunload
,因此您可以在他们离开时运行一些JavaScript,但您无法重定向或阻止他们离开。
我在这里做了一个例子:http://jsfiddle.net/QxrkD/1/
当您点击“离开”时,请观看控制台。或者'逗留'点击链接后。
答案 1 :(得分:1)
有两点需要注意: