Show and reload broken images

The name explained it

目前為 2014-05-23 提交的版本,檢視 最新版本

// ==UserScript==
// @name        	Show and reload broken images
// @description     The name explained it
// @namespace   	eight04.blogspot.com
// @include       	http://*
// @include     	https://*
// @version       	2.0
// @grant			GM_addStyle
// ==/UserScript==

(function(){
	
	GM_addStyle(
		"img{-moz-force-broken-image-icon:1;}"
	);
	// var imgs=document.images;
	
	/*
	function checkBroken(img){
		// return window.getComputedStyle(img).MozForceBrokenImageIcon * 1;
		
		if(img.classList.contains("loaded")){
			return false;
		}
		if(!img.classList.contains("reloaded")){
			img.classList.add("reloaded");
			img.addEventListener("load", function(e){
				e.target.classList.add("loaded");
			}, false);
		}
		return true;
		
		// return !img.complete || !img.naturalWidth || 
			// (img.width == 24 && img.naturalWidth != img.width);
	}
	
	*/

	function load(d){
		d.src += "#";
	}

	function reloadImg(){
		var imagesFailed = document.querySelectorAll("img:-moz-broken");
		var images = document.images;
		
		for(let image of images){
			if(!image.complete){
				image.classList.add("failed");
			}else{
				image.classList.remove("failed");
			}
		}
		
		for(let image of imagesFailed){
			image.classList.add("failed");
		}
		
		for(let image of images){
			if(image.classList.contains("failed") && image.src){
				load(image);
			}
		}
	}

	function getKey(e){
		if(e.keyCode==82 && e.altKey)
			reloadImg();
	}

	document.addEventListener("keyup",getKey,false);

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址