Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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 onunload如何影响页面性能_Javascript_Google Chrome_Firefox_Web Performance_Window.onunload - Fatal编程技术网

Javascript onunload如何影响页面性能

Javascript onunload如何影响页面性能,javascript,google-chrome,firefox,web-performance,window.onunload,Javascript,Google Chrome,Firefox,Web Performance,Window.onunload,我有一个网站,它在窗口.onunload处理程序中做了大量工作。我正在努力优化它,但我真的不明白它是如何影响我的页面性能的。它似乎会阻止重新加载页面或导航到同一域上的另一个URL,但似乎不会阻止跨域导航。它似乎也会在Chrome上间歇性地导致性能问题,但在IE上更容易再现。有人能解释一下window.onunload是如何影响站点性能的,或者给我指一指这样做的规范吗 在不同的浏览器中使用windows.onload与其他方法进行速度测试将非常有趣。也许我明天会测试一下,然后再给你回复 在此之前,

我有一个网站,它在
窗口.onunload
处理程序中做了大量工作。我正在努力优化它,但我真的不明白它是如何影响我的页面性能的。它似乎会阻止重新加载页面或导航到同一域上的另一个URL,但似乎不会阻止跨域导航。它似乎也会在Chrome上间歇性地导致性能问题,但在IE上更容易再现。有人能解释一下
window.onunload
是如何影响站点性能的,或者给我指一指这样做的规范吗

在不同的浏览器中使用windows.onload与其他方法进行速度测试将非常有趣。也许我明天会测试一下,然后再给你回复

在此之前,这里有一个你可能会发现有用的链接


stackoverflow.com/questions/20180251/何时使用window onload/…

卸载处理程序的主要问题是分析跟踪程序,它执行同步发送跟踪数据的最后部分。同步XHR会阻止导航到下一页,直到它完成为止,因此这是一个巨大的反模式

相反,应该使用
navigator.sendBeacon
)。这个API就是为了解决这个问题而创建的,但由于它是新的,所以并没有得到普遍支持(最值得注意的是,IE11缺乏支持)


(在本用例中,Sync XHR已经使用了很长一段时间,以保证HTTP调用的执行;卸载处理程序中的异步代码将不会执行,并且在导航之前发出的异步XHR可能会在导航时被取消。)

从未尝试过,但是你可以试着把逻辑放在一个服务工作者那里有一个你可能会发现有用的链接这更多的是一个注释而不是一个解决方案。请保存答案,以便实际尝试解决方案。虽然你的贡献是非常感谢!说清楚,我关心的是“onunload”而不是“onload”