[Greasemonkey]叉燒包修正

36.
// ==UserScript==
// @name image fix
// @namespace n
// @include http://*
// ==/UserScript==

var a=document.createElement('style');
var b=document.createTextNode('img:-moz-broken{-moz-force-broken-image-icon:1;width:24px;height:24px;}');
var c=document.getElementsByTagName('head')[0];
a.setAttribute('type','text/css');
a.appendChild(b);
c.appendChild(a);

var imgs=document.images;

function checkBroken(img){
return document.defaultView.getComputedStyle(img,null).getPropertyValue("-moz-force-broken-image-icon");
}

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

function reloadImg(){
for(var i=0;i<imgs.length;i++)
if(checkBroken(imgs[i])*1)
load(imgs[i]);
}

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

document.addEventListener("keyup",function(event){getKey(event);},false);


還滿囧的,用上GM_xmlhttpRequest。
按Alt+R可以重新載入圖片。

應該有點Bug XD

  • 7~12︰設置ff的叉燒包圖示
  • 14︰取得所有image元素
  • 16~18︰返回元素是否具有叉燒包樣式
  • 20~23︰把圖片url加上一個"#"來reload圖片
  • 25~29︰一一檢查若為死圖就reload
  • 31~34︰監聽keyup事件執行的函數,檢查是不是alt+r
  • 36︰新增監聽keyup動作

沒有留言:

張貼留言