// ==UserScript== // @name 网页加载分析 // @version 1.0 // @description 测试网页加载速度并显示部分网络请求信息。 // @match *://*/* // @run-at document-start // @grant none // @namespace https://greasyfork.org/users/1171320 // @license MIT // @downloadURL none // ==/UserScript== (function() { 'use strict'; const loadTimeElement = document.createElement('div'); loadTimeElement.id = 'loadTimeDisplay'; loadTimeElement.style.cssText = ` position: fixed; top: 10px; right: 10px; background: #f5f5f5; padding: 10px; border-radius: 8px; box-shadow: 0 0 15px rgba(0, 0, 0, 0.3); z-index: 9999; font-family: sans-serif; `; const startTime = performance.now(); let longestRequest = null; const networkObserver = new PerformanceObserver((list, observer) => { const entries = list.getEntries(); entries.forEach(entry => { if (!longestRequest || entry.duration > longestRequest.duration) { longestRequest = entry; } }); }); networkObserver.observe({ entryTypes: ['resource'] }); window.addEventListener('load', () => { const endTime = performance.now(); const timeElapsed = endTime - startTime; let networkInfo = ''; if (longestRequest) { networkInfo = `最慢请求: ${longestRequest.name} (${longestRequest.duration.toFixed(2)}ms)
`; } else { networkInfo = '网络请求信息不可用'; } loadTimeElement.innerHTML = `

页面加载时间: ${timeElapsed.toFixed(2)}ms

${networkInfo} `; document.body.appendChild(loadTimeElement); setTimeout(() => { loadTimeElement.remove(); }, 15000); //Display for 15 seconds }); })();