// ==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 = `