您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
趣味盒图片按顺序加载,加载完一张再加载下一站,避免同时加载导致带宽不够会让很多照片超时失败
// ==UserScript== // @name 趣味盒图片加载优化 // @namespace http://tampermonkey.net/ // @version 2025-08-23 // @description 趣味盒图片按顺序加载,加载完一张再加载下一站,避免同时加载导致带宽不够会让很多照片超时失败 // @author fenglbl // @match https://www.nicept.net/fun.php?action=view // @icon https://www.google.com/s2/favicons?sz=64&domain=nicept.net // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; let pageWidth = window.innerWidth // 图片的宽度,默认页面宽度-40像素 let imgWidth = (pageWidth - 40); // let imgList = [] document.querySelectorAll('.shoutrow .faqlink img').forEach(item=>imgList.push(item.src)) // 图片按顺序加载 let div = document.createElement('div') let imgIndex = 0 let errorNum = 0 let numtextbox = document.createElement('div') numtextbox.style = ` position: fixed; top: 20px; left: 46%; background-color: rgba(255, 255, 255, 0.4); padding: 8px; border-radius: 12px; font-size: 16px; ` div.appendChild(numtextbox) function setTotal(all,i,load,err){ numtextbox.innerHTML = `总共${all}张,正在加载第${i}张,已加载${load}张,失败${err}张` } setTotal(imgList.length,imgIndex+1,imgIndex,errorNum) function loadImg(imgs,img){ let imgNode = document.createElement('img') imgNode.onload = function(){ if(imgIndex < imgs.length - 1){ imgIndex++ setTotal(imgList.length,imgIndex+1,imgIndex,errorNum) loadImg(imgs,imgs[imgIndex]) } } imgNode.onerror = function(){ console.log('图片加载失败'); // imgNode.src = null // imgNode.src = img if(imgIndex < imgs.length - 1){ imgIndex++ errorNum++ setTotal(imgList.length,imgIndex+1,imgIndex,errorNum) loadImg(imgs,imgs[imgIndex]) } } imgNode.style.width = imgWidth + 'px' imgNode.id = 'img_' + imgIndex imgNode.src = img div.appendChild(imgNode) } document.body.innerHTML = '' document.body.appendChild(div) loadImg(imgList,imgList[imgIndex]) })();