我正在使用脚本在用户实际离开页面时淡出页面内容。
为此,我尝试使用beforeunload
事件。
当我浏览我的网站时,它工作正常,但我也发现它在应用程序启动时触发,例如skype按钮。即使我还没有离开过这个页面......
验证onbeforeunload事件以防止过早触发的最佳方法是什么?
我想我仍然应该使用我的:
$(window).one('beforeunload', function() {
// need to make some condition, if really leaving the page - execute
$('html.nojs').stop(true,false).css('overflow','hidden').animate({opacity:0},2000);
});
但我需要使用某些条件......只是想不出任何......
修改
删除了指向该网站的链接
动画确实有效,但是如果你去任何特定的产品并点击那里的skype按钮,你就会看到它制作便便......
EDIT2:
此问题的解决方案是检测触发前卸载事件的内容。正如我所说,通过在该电话中写下一些条件。
我们必须找到一种方法来确定事件是否是由外部应用程序调用触发的(例如尝试打开应用程序的skype按钮)还是其他东西,例如:...链接点击,按钮提交,更改位置的脚本,开始搜索,回击/转发或刷新页面。
答案 0 :(得分:0)
这个问题的接受答案
Capture user response when using window.onbeforeunload
如果您需要知道触发onbeforeunload事件的内容,您可以拥有一个全局变量,然后在单击Skype按钮时将其设置为true。然后在onbeforeload事件中查看它。