[發明專利]一種對瀏覽器端真實用戶體驗實時監控的方法和系統在審
| 申請號: | 202011419594.1 | 申請日: | 2020-12-07 |
| 公開(公告)號: | CN113010371A | 公開(公告)日: | 2021-06-22 |
| 發明(設計)人: | 高馳濤;郎志;楊迎輝;古建華 | 申請(專利權)人: | 云智慧(北京)科技有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F16/958 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 瀏覽器 真實 用戶 體驗 實時 監控 方法 系統 | ||
1.一種對瀏覽器端真實用戶體驗實時監控的方法,其通過注入JS腳本,在XMLHttpRequest對象內掛載監聽函數,通過改變瀏覽器內Ajax的工作流程,實現網頁的異步更新,即在不重新加載整個網頁的情況下,監聽頁面請求與后臺數據交互的狀態,增加監聽功能,收集所需要監控的信息。
2.如權利要求1所述的對瀏覽器端真實用戶體驗實時監控的方法,其包括如下步驟:
S1、枚舉原生XMLHttpRequest對象的監聽方法;
S2、重寫XMLHttpRequest對象,利用掛載了步驟S1中監聽方法的XMLHttpRequest對象收集信息;
S3、對收集到的信息進行處理,得到最終的頁面Ajax請求的監控結果。
3.如權利要求2所述的對瀏覽器端真實用戶體驗實時監控的方法,其特征在于,步驟S2中重寫XMLHttpRequest對象的步驟包括:
S21、創建原始對象xhr;
S22、監聽步驟S21創建的xhr對象的readystatechange變化,并在state每次變化后觸發步驟S1中預定的監聽方法;
S23、將新增了監聽方法的xhr對象掛載到原生XMLHttpRequest對象上,實現XMLHttpRequest對象的重寫,增加監聽功能,收集信息。
4.如權利要求3所述的對瀏覽器端真實用戶體驗實時監控的方法,其特征在于,步驟S2中收集的信息包括下列中的任一種或任幾種:請求url、請求類型、是否異步、請求開始的時間戳、請求數據大小、響應數據的首字節時間、響應結束時間、影響狀態值、響應狀態文本、響應數據大小、超時時間、請求是否錯誤。
5.如權利要求1所述的對瀏覽器端真實用戶體驗實時監控的方法,其特征在于,步驟S1中,枚舉的監聽方法包括:onreadystatechange,onload,onerror。
6.如權利要求1所述的對瀏覽器端真實用戶體驗實時監控的方法,其特征在于,還包括步驟S4和/或S5,其中:
步驟S4、基于window.onerror方法進行js錯誤堆棧抓取,包括拷貝原始window.onerror方法,再插入監聽方法catchErr收集JS錯誤信息;
步驟S5、獲取頁面首屏時間,即通過頁面的圖片首屏加載完畢時間來得到首屏加載時間。
7.如權利要求6所述的對瀏覽器端真實用戶體驗實時監控的方法,其特征在于:
S4具體包括如下步驟:S42、將原始window.onerror方法拷貝到origin_error;S43、重寫window.onerror方法,即在onerror方法內分別執行origin_error和catchErr方法,并通過apply方法改變this指向,通過arguments將參數傳入;S44、通過catchErr方法解析錯誤信息;
S5具體包括如下步驟:S51、獲取首屏內圖片資源,通過getElementsByTagName(“img”)獲取頁面內全部的圖片;S52、判斷每一張圖片的offsetTop,并將offsetTop小于瀏覽器窗口高度的圖片全部存入數組中,作為首屏加載的標記;S53、監聽存入數組內的圖片的loading狀態,判斷全部圖片狀態均為complete時判斷為首屏加載結束時間;S54、計算結束時間和加載時間的差值作為首屏加載時間。
8.如權利要求7所述的對瀏覽器端真實用戶體驗實時監控的方法,其中,步驟S42之前,還包括步驟S41、根據window.navigator.userAgent方法判斷瀏覽器類型,為兼容處理做準備。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于云智慧(北京)科技有限公司,未經云智慧(北京)科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011419594.1/1.html,轉載請聲明來源鉆瓜專利網。





