日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

利用Navigation Timing测量页面加载时间

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用Navigation Timing测量页面加载时间 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近在看一本名為《web性能實踐日志》的書籍,其中第十三章"網絡計時"中介紹了一種比較新的計算頁面各部分加載時間方法,這也是W3C Web性能工作小組正在做的事情,接下來我就給大家大概介紹一下:

首先先撇開這篇文章所要介紹的,如果要你來寫一段代碼來計算整個頁面加載的時間的話,我們一般都會這樣做:獲得頁面開始加載的時間和結束加載的時間,兩個一減便是頁面加載的時間了,沒錯,代碼如下:

1 <html> 2 <head> 3 <script type="text/javascript"> 4 5 var start = new Date().getTime(); //獲取開始加載時間 6 function onLoad() { 7 var now = new Date().getTime(); //獲取加載結束時間 8 var latency = now - start; //頁面加載時間 9 alert("page loading time: " + latency); 10 } 11 12 </script> 13 </head> 14 <body onload="onLoad()"> 15 <!- Main page body goes from here. --> 16 </body> 17 </html>

這是計算頁面加載時間的簡單腳本,但是如果我們想進一步深入了解資源的加載時間呢?比如我想知道dom內容加載完畢的時間,而非頁面加載的時間呢,上述代碼明顯做不到了。

然而W3C提供了window.performance.timing方法讓我們可以輕松獲得頁面各個部分的加載時間,具體代碼頁非常簡單,如下:

1 <html> 2 <head> 3 <script type="text/javascript"> 4 5 function onLoad() { 6 var now = new Date().getTime(); 7 var page_load_time = now - performance.timing.navigationStart; //performance.timing.navigationStart即為獲取頁面開始加載時間 8 alert("User-perceived page loading time: " + page_load_time); 9 } 10 11 </script> 12 </head> 13 <body onload="onLoad()"> 14 <!- Main page body goes from here. --> 15 </body> 16 </html>

經過實踐發現,通過上述方法獲取的頁面加載時間相比第一種獲取的時間稍微多那么幾毫秒,根據不同頁面的大小可能數值會有出入,但是上述方式獲取的時間肯定比我們一開始寫的要更加精確,同樣的,當我們想知道dom內容加載完畢的時間的話,代碼改為:

1 <script> 2 function onLoad(){ 3 var now=new Date().getTime(); 4 var dom_load=performance.timing.domComplete -performance.timing.navigationStart; 5 alert('頁面加載時間為:'+dom_load); 6 } 7 </script>

這樣就OK了,我們甚至可以得到更多關于頁面加載的詳細信息,W3C官網提供了如下可供我們獲取的頁面信息圖示:

?

這張圖片所提供的功能就叫導航計時(Navigation Timing),是HTML5提供的一組新API,已經在最新版的瀏覽器中實現了,但是不兼容低版本IE,如果大家對web前端性能比較感興趣,可以訪問W3C提供的官方文檔對其進行探究:

http://www.w3.org/TR/navigation-timing/

?

轉載于:https://www.cnblogs.com/luozhihao/p/4681564.html

總結

以上是生活随笔為你收集整理的利用Navigation Timing测量页面加载时间的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。