Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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_Jquery_Browser - Fatal编程技术网

Javascript 检测所有可能的页面刷新情况

Javascript 检测所有可能的页面刷新情况,javascript,jquery,browser,Javascript,Jquery,Browser,我读了这两个问题: 及 建议绑定到'onbeforeuload',也可以绑定到F5和Ctrl-R按键,这是一个很好的建议 但是,大多数浏览器的地址栏上都有一个刷新按钮,如Chrome中的: 问题是:是否可以检测并绑定到浏览器地址栏的刷新按钮的刷新事件?通过将onbeforeunload绑定到窗口,就像这样窗口。onbeforeunload在大多数浏览器中都会触发。看看这个。似乎IOS设备不支持它 对于IOS,apple文档建议使用pagehide请参阅上的apple页面 加载和卸载事件可能

我读了这两个问题:

建议绑定到
'onbeforeuload'
,也可以绑定到
F5
Ctrl-R
按键,这是一个很好的建议

但是,大多数浏览器的地址栏上都有一个刷新按钮,如Chrome中的:


问题是:是否可以检测并绑定到浏览器地址栏的刷新按钮的刷新事件?

通过将
onbeforeunload
绑定到
窗口
,就像这样
窗口。onbeforeunload
在大多数浏览器中都会触发。看看这个。似乎IOS设备不支持它

对于IOS,apple文档建议使用
pagehide
请参阅上的apple页面

加载和卸载事件可能无法按预期进行前后优化。改用pageshow和pagehide事件

请记住,这也将触发所有其他类型的导航离开页面。例如关闭、选项卡关闭、后退/前进导航、链接导航和地址栏导航

由于安全/隐私原因,无法向您提供目标url,因此不可能检查浏览器是否正在重新加载,也不可能从我非常确信的页面导航。当在卸载之前启动
onbeforeuload
时,可以使用这一条件来消除链接按压


编辑:如果您需要检查页面是否已重新加载,您可以使用sessionvariables或Cookie来存储用户之前已经打开过一次页面。

onbeforeunload应在按下刷新按钮(或按地址栏上的enter)时触发。如果在卸载前发生的
事件不是由
F5
Ctrl-5
触发的,则很可能是通过您提到的重新加载按钮触发的。