onunload如何影响页面性能

时间:2018-06-06 22:11:12

标签: javascript google-chrome firefox web-performance window.onunload

我的网站正在test1: 72.268ms test1.1: 61.086ms test1.2: 66.854ms test1.3: 63.698ms test2: 207.912ms test3: 81.987ms test4: 59.752ms test5: 213.136ms test6: 204.869ms 处理程序中进行大量工作。我正在努力优化它,但我真的不明白它如何影响我的页面性能。它似乎阻止重新加载页面或导航到同一域上的另一个URL,但它似乎不会阻止跨域导航。它似乎也会在Chrome上间歇性地导致性能问题,但在IE上可以更加一致地重现。有人可以解释window.onunload如何影响网站性能或指向我的规范吗?

2 个答案:

答案 0 :(得分:0)

使用windows.onload与其他方法在不同浏览器中查看速度测试非常有意义。也许我明天会测试一下然后再回复你。

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

stackoverflow.com/questions/20180251/when-to-use-window-onload/...

答案 1 :(得分:0)

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

相反,应使用navigator.sendBeaconhttps://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon)。创建该API的目的就是为了解决该问题,但是由于它是新的,因此并未得到普遍支持(最值得注意的是IE11缺乏支持)。

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