|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : }$ l3 t# s2 l
8 U+ |- e9 s& }' e
火狐插件,用猴子/ l' e/ [' @* c' }& Y
8 ]) q7 [6 y* e. V) Kvar debug=false; 5 k* l; A. {* `, I3 Z3 S ?
var CleanHideObj=new CleanHideClass();- v1 P" S4 t4 _7 G* l& Q a
. }0 J9 t: W4 k$ D6 u! zfunction CleanHideClass() : l0 F* U0 e: D, i0 a7 \3 H( v
{
! u2 I" [* O+ u! y Z& g- y
4 ^; f' q' d# P+ ?8 w this.on=function(id,bMZ)5 n7 j% ?# t+ m/ @9 ?
{
, y, e @2 m' @; U ! } U2 N Y+ H( M/ e& u; O# h
if(id == 0)
& _' j) r" X% j. M$ S6 A$ T {& c& ]: t* n: v }( [. t
var page=/* document.getElementById("content").contentDocument */document;
8 y$ W: Z' l; S+ Z( Q8 y; F this.RemoveHide(page,"span");
( L; e$ U3 K& r! c4 b1 Q" x this.RemoveHide(page,"font"); @& h3 ?: B) f" W( X0 A7 S
this.RemoveHide(page,"div");
/ X- `! j3 p7 y! {: \+ l7 \2 J this.RemoveHide(page,"p");
: \/ ]$ s% k9 N1 ]. u4 D9 F * Z1 }: F; h+ [# [" {# @
}
4 Q3 \, {; d; d; ~; A ' h1 |& r' K, |* Z% _$ G5 Z/ N
}
7 G# E2 R9 z9 c; C" Q: R6 ^ this.getobjstyle=function(node,prop)
( `& w# R+ [# W/ W/ G" r {
+ ? f5 r9 x7 m/ i6 N try3 b. y/ R. z# r
{8 C9 N; }5 g+ V/ q+ Q2 H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 I4 g# Z( u" d" k% A0 ?; Q
}
6 E+ z1 s* T; h' o catch(e)( v( g9 q& E# m# ~0 ?
{ Q# S% X- z2 o& Y6 p% H5 y
if(debug)
7 Q$ y9 t8 I. N8 r {
2 A& `. S% W) S, j1 \ alert(e.message);
3 O/ F3 E5 ^3 Q. D% F4 Z0 F }* X H& Q& E: E/ J; {: x
: {/ a$ `7 K) m return "200";: r* T" Z- B: I$ U$ M* R. b
}
) p0 v+ C8 [% t+ v; s& L }- d; p2 F/ h% s: b: U
4 {7 i8 J( f$ N& S. t this.RemoveHide=function(page,objname)
8 q8 T2 ~4 }, a# ^1 M' k {8 S. ?( E/ \, Z& ~3 ^
try% L6 q- d' e* d7 t
{
4 O. }7 C- g* ~3 n% C6 m1 K var minValue=15;/ p7 ~( R$ A) [7 m9 {5 p, g& }
var objs=page.getElementsByTagName(objname);
% Q( @/ ]6 o7 J4 L$ f; p W5 c7 u0 f. C2 a x
if(objs.length == 0)
4 u G; }. U5 N2 u# w {
1 D* Q$ o2 U4 z; g- s if(debug)0 T4 V9 r; R4 }7 \* P0 {
{
+ \# m& g' l% n+ ^" X5 p alert("no object found!:"+objname);
! L, b+ a) @: K }8 ~0 ?3 i1 l8 o' \# u3 ]. t
}5 }: l4 o% `8 V
else6 M; u; B1 v; O8 J! f% c
{& S: Q! k2 p+ ^5 i$ @; m
1 E; O7 a; K( d+ f5 o, ?- M! p Q
for(var i=objs.length-1;i>=0;i--)
4 s, w0 w, m' e: Z' _$ z- g {
, c* f8 V0 g1 E5 y* o7 a var node=objs.item(i); 8 z3 B9 u2 ?) y! C4 ^0 a
' L/ P$ ?; y4 ~# [) p# D
# e& O, r( X: ~# K- q I if(this.getobjstyle(node,"display") == "none" ||
3 C( R( Q6 }4 {/ P this.getobjstyle(node,"visibility") =="hidden" ||
/ ^( W/ F7 T u O! v7 Q, f4 o parseInt(this.getobjstyle(node,"font-size")) == 0) $ B, [* }2 ^- d( e
{
' g$ e% n) @( B1 g. \9 w0 }$ H if(debug)- J# f$ f ^3 w: k
{+ d0 o% j! ~8 N3 f! T0 o8 k, C( J& a
alert("remove invisiable!");$ W( Y4 i' O: D) M. m# F! v
}
4 d" m* J5 n* h9 v1 M node.parentNode.removeChild(node);) t) d! T# p8 |+ q7 e' x. v
, v$ c# l: z2 O* E }
; o- n+ |& V9 s8 ?; ~( x else
8 w0 r4 s' Q/ g S" d+ E7 q! H {
5 C" F; O. d/ k: G/ |# W: e: [ if(node.parentNode) 0 u9 J/ ?; [ V3 [' ]) l& _8 G
{8 E1 y+ Q7 k ~3 N( _
var orgNode=node;; {# E. {2 b* N: @
var orgColor=this.getobjstyle(orgNode,"color")
2 M, w, d, m0 X; n) O var orgRGB=getRGB(orgColor); 3 z1 K4 l* d0 e/ G* G `
& q. d/ U- k; i& A7 k- n var parentNode=node.parentNode
0 c3 ~4 s/ \+ Z+ l# k; S var parentBgColor=this.getobjstyle(parentNode,"background-color");
* _- x0 Y1 u/ `4 ]$ A. C
1 W( ]# `# C A" L var isLast=false;" L+ S# O+ M; W" s3 [. u, p
% r" W# C, _- N `: k5 ?0 S
while(parentBgColor == "transparent") 4 s5 T2 e& m; a- O# E/ V3 W
{
) C) }5 h+ @1 F$ b' @; J
) q. g; x6 r8 ^4 s; A0 ]2 \ 1 R3 T7 t1 `% V
if(parentNode.parentNode == null)
0 [% x; K2 C& f {; M, C L% h) x7 E( o
isLast=true;
3 d1 o8 v+ A, ^* `; I2 z, o2 A3 H break;) y- w2 D9 {6 y% o5 e
}; f8 U- z+ }" A# Q/ C
parentNode=parentNode.parentNode;
8 f9 O+ K$ g- O" ^5 i) p parentBgColor=this.getobjstyle(parentNode,"background-color");9 a, r% |* t, ]% j: K9 v
2 F/ E9 @8 S* z/ l2 F ~ if(parentBgColor != "transparent") 6 n- }8 m& e% k% }
{" N! n; _7 T! C0 o! _5 b
break;
j' | h5 ]+ X3 t1 z; Y: k }
8 u2 M' s J. C; u2 p }
1 Q+ V9 M; ?! I if(isLast) & z/ I! t; i0 Y* x) f
{0 B& i; t8 J) ?' Q. X8 Y
if(debug)5 h/ M2 P7 M! Z# l* E/ |
{
7 u" b2 Q7 W) u alert("last!!");
4 C% e) K' z5 L }
5 P. H e7 s* \! K if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! q' u+ @+ g/ D6 J: K' k" V {) @0 e/ f+ J. s7 |9 r; ~+ F: j
orgNode.parentNode.removeChild(orgNode); 8 C& j C# w7 X" n. \3 m
}3 a+ M2 s" w) b
}3 _- K9 N9 r" s w7 y
else
8 l N+ q: }( ]. X$ S {
7 O* W( {' L2 O/ |/ q( b if(debug)
% F8 S. B' Q m0 ^! O {
% o, [$ ^, I) z, f- d" B6 C alert("compare color and parent bgcolor!");
4 \, M6 s) g5 l/ X }* C) n+ Y# w# Z' ?
parentBgRGB=getRGB(parentBgColor);
) g, r! u5 g# ^( i4 S4 P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& e, Z$ t- h! B6 K- ^( d1 l
{- |7 f7 e' }7 P8 K( U; ^
orgNode.parentNode.removeChild(orgNode); : b; o. c" V' A9 a: n
}& Y/ d! J2 ?1 L( p$ b
}
$ i- V! {; J2 H+ f+ Z3 w* s, }; u4 ?8 S }) l* c" {3 j% @/ G3 l8 A
}3 {. ?6 C9 B% D& p& q
}8 t& ]$ a' I2 C" Q0 [0 l4 @ u
}' Y r0 ?4 y7 Y$ t8 i
; s0 {/ C+ Y1 U, a& X h+ F
/ \! @& [8 z8 e/ A9 C. I7 n var itemFrames = page.getElementsByTagName("frame");
4 J4 a, A, A6 c* Y2 e2 ]" Z2 s( S var itemiFrames = page.getElementsByTagName("iframe"); u$ a. u4 \1 X( V1 o
: ?5 b6 b* h3 B2 x# I var frame, iframe;
. F! V3 n/ A# F4 j if (itemFrames.length > 0)
3 S/ z) I) g/ w+ Q {5 g8 D* I9 k q, r9 _, o; h
for (var i = 0 ; i< itemFrames.length ; i++)
: d* ?* }9 t3 j6 o0 s$ ] {( ^* L; o( d T4 p6 k
frame = itemFrames.contentDocument;+ M' C: R3 D# K3 @) I: c
this.RemoveHide(frame,objname);
& i* B/ W1 g; @ }
# m# B0 V- m1 I% `3 k2 l: H# d }/ C! q2 R) N! R7 T8 \- R! |
if (itemiFrames.length > 0)- d* k+ ~: S6 p' r
{
. X6 }; a" k. N; j for (var i = 0 ; i < itemiFrames.length ; i++) & {; G4 b' Y7 p7 k0 Z
{- s6 I2 A# s# }; C
iframe = itemiFrames.contentDocument;
1 {3 q. B1 }! j& c5 d4 ?- r$ i7 T1 L this.RemoveHide(iframe,objname); | f7 l9 X$ Y/ s+ ^6 s5 W1 O9 o$ b1 P; o
}; m+ H2 S( \% A. {% k! R
}) D6 U8 D: m k9 b) G5 f
}0 g" [+ d$ a# z7 y0 \# H7 A3 p
catch(e)
/ g: {+ v3 | p { j0 q' B! D. Y0 ]/ U# y
if(debug)
6 w5 L }% O! ` J {
4 c7 Q+ R% u* W! n6 L+ P/ I alert(e.message);( c* z" ?. \7 N$ W! J
}
, i: ?0 F: _. E }. A }; M5 Q* ]4 O, C3 T
}
+ e7 t6 }4 ]& B2 H1 d/ ?
/ C6 }, R- o. o, o1 f}
8 A; N0 K$ K- _0 q8 @
( o# k2 r6 | I$ A* o2 lfunction getRGB(colorString)
( j0 P; O" l2 F{, u4 i) d% b3 F! I
var RGB = new Array;
1 B8 Z+ B) d- z0 b5 [- U* K# y var tempSting=colorString.substring(4,colorString.length-1);; t: A* _) c7 c; E1 f5 f9 n! y
var tempArray=tempSting.split(",");
! s5 t8 p6 n1 `0 x$ ~5 ?1 B% k @' r3 S6 h: T- c" c
RGB[0]=parseInt(tempArray[0]);
+ d6 D- l) o S, `& i: w RGB[1]=parseInt(tempArray[1]);
8 Z& i8 c0 X4 [' t1 u4 W. V RGB[2]=parseInt(tempArray[2]);
( H8 e, }, l! F% g7 ]$ Q2 P$ c
9 [( t) d6 X; ]& F return RGB;
- k9 U. h/ r/ Q t& _$ J6 _}+ {7 a6 h/ ^ t9 j
function keys(evt)
' y& W' J* E ?" P {
+ K* u& D- V) i5 u if(evt.ctrlKey && evt.keyCode=="81")
4 \- q4 p( K5 r: n { ) ^1 [4 c5 Q) w0 w3 y. |! @
CleanHideObj.on(0,1);& A& K; i( Z# w# \# Z# X) e% q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , h5 b: @& V5 o
- F6 M, }! V+ ^! B) O9 x2 r# y
} 9 w! Y* o8 d2 H
}
3 Y$ `0 b k2 k. O' J# Z" z( `document.addEventListener('keydown', keys, false); , @! P% L& p6 D p
GM_registerMenuCommand ('Clean Hide',. d( j# z& c$ D5 h! I
function(e){
. C6 m7 x8 R: HCleanHideObj.on(0,1)
* `$ H6 S2 s6 w/ lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: ~! H `/ W+ W! ^# y; m});( q3 u9 o4 N) [6 E2 g
|
评分
-
查看全部评分
|