|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 T0 g" ?, {2 E# o7 H2 q
$ D- q% I' A/ G% e
火狐插件,用猴子8 ~; J4 Z4 [/ [; ?, r. k7 o
0 B+ C6 V1 F2 _, i Wvar debug=false; - W/ @' t- E8 c% n1 w
var CleanHideObj=new CleanHideClass();& y& [. B }5 n$ o" r+ j) z
/ j0 w' n$ O( m* x4 y. zfunction CleanHideClass()
% K5 [6 o6 q& \9 O{
q' N) Y/ w% a* J. e. m$ K ; v9 U! q* Z Y4 T3 Y- W
this.on=function(id,bMZ)- y. s; t' l2 p& B
{( N9 {/ I1 c# k3 K
: I- W8 M7 w* H6 W if(id == 0)
; o& j& T8 L5 P { u* b+ F4 `% O' s
var page=/* document.getElementById("content").contentDocument */document; ' L8 I; D: o- ~) `+ l
this.RemoveHide(page,"span");5 o. C+ @0 c6 O" U' H4 V* i2 P
this.RemoveHide(page,"font");
& ^- d3 O6 a8 U this.RemoveHide(page,"div");2 x+ Y$ I5 G4 f% Z0 x1 s1 A0 X
this.RemoveHide(page,"p");5 g9 {! j# R0 b7 W* b. \
! z- u9 T; L' k9 O+ M
}
7 }) h0 w0 q" Z0 w9 J4 J" c , G$ X6 M* j4 ]! O7 z J
}* v( N- F2 \3 g ]4 D
this.getobjstyle=function(node,prop)- j' ?1 q& T3 X2 w+ q" W$ h g
{
; H u( I# n" V- h try
+ y' K$ [: \6 ~6 s {
' S, w0 S9 h( z' d return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 c5 w/ y1 O" u' j
}' \; X1 `# v1 L( h
catch(e)
6 m5 g6 G B( m6 J7 r" `& P {# a9 \9 @2 A/ ]/ H/ ^2 f
if(debug)/ a- ~2 O+ A& U* p% a1 J3 B3 w
{4 o9 e3 s/ I* ?* f" C X
alert(e.message); y d5 d7 V4 @7 s, s
}& h/ K3 d5 d; o9 C) c( v% g
. n$ \# z3 Y+ l
return "200";" g! C+ a. o3 x3 x+ e# v# A/ O
} k3 A- r8 p5 v' v7 o" c! q
}9 k3 \* i/ \) }9 G" x. g
' L( @: `: m6 H7 F4 t; r$ ]7 F this.RemoveHide=function(page,objname)) b) c* `4 W% P" Q, {7 v/ Q; ]# c0 ^
{5 ]. B. l6 T8 ?- \ z0 K8 l
try3 B* {: M1 G. g! g( D/ }7 g! a5 j
{
0 M2 _$ f2 D, a var minValue=15;2 I0 N7 t& W- o7 U d6 G
var objs=page.getElementsByTagName(objname);
( I: G0 @1 q, n, r& }8 D0 V
5 E! a" h/ H6 F" l& \. j- F& E if(objs.length == 0)
v$ I, {. v& \9 i5 W! s, S. u {' T; W3 @. J; C! p; X. x
if(debug)9 u3 B9 _3 ^ i; ^ ^
{7 m/ e0 I! A8 H" p, Q
alert("no object found!:"+objname);
4 z8 o- `) n& e6 V: d }
" C9 H# Y& M* r: D1 z! G3 a }" [* E# l; K# H0 ?+ {, R
else
2 r' D% r0 T' G u' x& { {/ c0 n* p6 V8 Q, j
4 j8 Z/ `. [4 W/ e: s P& c. }
for(var i=objs.length-1;i>=0;i--) ) w7 E3 ?- f# D" o- H; \# \) @# p. r
{; t" i8 ?# |: O+ x& d7 J2 L
var node=objs.item(i); 0 S8 z5 ?9 T, C+ \
$ F1 y* J7 N K" Y) N% d2 P
+ v5 _% A+ L4 u. m if(this.getobjstyle(node,"display") == "none" ||
/ G* U& B7 h/ ]* N0 I this.getobjstyle(node,"visibility") =="hidden" ||& Z ~3 C) _" M6 F0 l! ?* h8 I8 u
parseInt(this.getobjstyle(node,"font-size")) == 0)
' j2 ]4 R% P% D/ j4 X4 z {
- X$ e& Q, B9 I" W6 T6 F: ? if(debug)
% w+ v. y7 b$ d7 Q# Y* ^8 _6 w9 s; G {+ M1 V$ \# J+ ]- g. S
alert("remove invisiable!");+ w0 ~# }0 W( [, a
} r0 z5 M7 j5 v5 |8 i7 U
node.parentNode.removeChild(node);
% ^* l+ `, m( |+ y. |1 r0 W
; p+ _. x5 d- g& h5 g. z" _ }
' l: S) A+ y$ A" r% a0 u; X4 [ else : E0 q% N$ f! C2 ?$ X- l5 N0 H
{* d" l$ H0 E' X
if(node.parentNode) * ~8 m9 y2 v4 W5 w' S
{& C# k. }- p9 c) ~
var orgNode=node;
, s _" \/ Y* f7 @2 m/ H" @! Q0 u var orgColor=this.getobjstyle(orgNode,"color")/ U0 l |1 g+ f) j. H$ n1 w
var orgRGB=getRGB(orgColor);
, E2 h4 k. a g, j8 d b" e
+ I4 ]4 n' i. X# w4 B$ s var parentNode=node.parentNode
" X: x0 \ E* W: O var parentBgColor=this.getobjstyle(parentNode,"background-color");
. \; ^- _8 b. R: ~ ( B3 Q$ X: D! C) z; a
var isLast=false;
6 A, Z! S7 }& |- `$ i
+ Q% U. a5 l3 F) K# N; Y! F+ q; G; u while(parentBgColor == "transparent") ; O2 O4 |. P& w$ I; F
{4 ]$ b: I1 ~1 Q* F9 l! t
8 H' ~8 }9 J0 l5 |, C! x$ E
% A" t' D3 e B3 B0 D0 u$ t if(parentNode.parentNode == null)
! E* f' x5 m+ i {; I; F9 P' o# }# D& f
isLast=true;
+ z3 {9 G, [7 c. _ break;3 z% r. j; {9 D) s: a' Z
}
" l4 ~0 ~% h* a4 Z" N9 i' V parentNode=parentNode.parentNode;9 j1 \9 D$ r; x
parentBgColor=this.getobjstyle(parentNode,"background-color");
2 k5 E- W3 h0 j. t1 m
?( Z# p/ f8 C0 c, S if(parentBgColor != "transparent") % J. r) i5 @( p1 s, }; L2 l- J3 _
{ g9 Q8 p" n2 j
break;
& V* C/ x* L6 S- c2 S }
0 ?* V7 y* H. n4 [2 `/ ? }* k; I1 v' n) f- H2 Y0 V
if(isLast) , I# s' S- M7 }: b0 f
{6 z& n' }$ @+ W4 w6 V
if(debug)1 I5 }6 w9 t! U8 A. M9 i& c
{
1 F# O4 Q$ n' \ alert("last!!");
' n: ]3 g% t }; u* y7 x ^/ R: C1 b6 m }8 ]$ C( F9 P2 S
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))0 H0 M& V/ n, V$ z
{
4 R: _9 ^3 l/ z7 ~ orgNode.parentNode.removeChild(orgNode); ! o7 ~! t9 C5 b$ o! F
}
. z8 j1 R8 H% a. k& S }
2 D6 ^9 ]/ p$ [% B: f else5 I7 ], d: I, P6 M: }
{
0 g* B" |; I* ~) p: k! v$ l6 c if(debug)
$ x: @( K+ b% t9 [, X$ O {
$ g; s9 P3 z) V( ~ alert("compare color and parent bgcolor!");: l: i+ t+ ` j8 T; p) C* R' ?
}
6 W" v# J$ \# k) b! W1 ^: |$ k parentBgRGB=getRGB(parentBgColor);
, E+ W9 Q8 k8 n5 U" B, ]0 A if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 c" U9 R& `& L- T" X8 [: \9 g: B
{& M( v/ Z7 r# P
orgNode.parentNode.removeChild(orgNode); 7 ~$ w7 X: Q6 \/ L& ]. \5 c. k
}
: ?4 S: W, U9 b+ j$ ]9 i, L }
; c) ~. q d6 w3 @* z, q4 b2 \9 j }- q) T8 Y* z' H$ i% r# \- l
}
# w5 D; M, G: Z: }9 w }
2 w6 `- L; l) m( z7 d4 A; X: V4 F }, Y$ x6 w) B" t, d$ w5 ]- y- J
* n( H; n* m2 n
; h3 O4 G4 H k! W- i var itemFrames = page.getElementsByTagName("frame");/ Y* F1 a; b+ r8 Y. B4 `% c; g- _$ J4 x3 ]
var itemiFrames = page.getElementsByTagName("iframe");8 [4 S! F. [" o6 S3 s
; P/ Y" H" m7 }8 e/ z8 t
var frame, iframe;
5 r& W2 R& H# R! H$ p/ c if (itemFrames.length > 0)
# ?. @/ h( N1 | {
& b# G7 [( J9 N/ X7 |# x for (var i = 0 ; i< itemFrames.length ; i++) 9 {) k" v+ S! _: G0 [
{
* t2 ^( D: w% t1 z% z- B% l frame = itemFrames.contentDocument;
! P( s* {" K: W; P' x% p, e% v0 w7 r this.RemoveHide(frame,objname); # d* S- Q! M4 q$ G% }0 u
}, F( E0 b: A; L$ I
}) w( r' `3 b: U% s9 K/ T
if (itemiFrames.length > 0)
+ T i0 R8 w' C& q4 l6 B {
2 h' C5 M$ I$ Q6 f for (var i = 0 ; i < itemiFrames.length ; i++) ! q. c2 R: S7 y2 {! P
{
3 W# _! G# z2 g: J2 Q' s' F iframe = itemiFrames.contentDocument;
, T0 f% r/ G1 G this.RemoveHide(iframe,objname);
5 U* v6 }3 r) `& y U3 }* k- j }9 e( \$ N0 Y: t" j. o' I
}. e9 |3 q/ d4 P6 M1 v& L; ^! t2 h
}
8 C6 ]; c' S7 O1 Q catch(e)
( a, s; H0 a- u/ L8 q0 `/ b {2 B3 L4 C' q% y. }: x+ d+ K
if(debug). f7 r, X+ J9 s( k% h- Y
{
1 v! K8 h3 ?$ A; `% ~ alert(e.message);9 {0 W( i* k& r* [/ {2 i3 j/ S! G
}$ h M; f/ H1 d! o8 N; B
}
2 j. Z+ x' z; ^4 m' n ] }
! T, v2 ]& N" R/ G
. B% F; [6 S+ c7 V9 A7 Q5 Q8 |/ b}
* w# E0 [( `" H+ ~% Z3 ?! k3 J% L
) p7 U9 m7 S, }, Ufunction getRGB(colorString)* l$ `- ^2 c2 N+ g v5 L8 Q d
{8 e9 ?: c5 S5 x6 |/ W# w
var RGB = new Array;2 u: n/ T$ d/ m# Q+ l
var tempSting=colorString.substring(4,colorString.length-1);5 ?! N/ n. ?& R3 [0 B
var tempArray=tempSting.split(",");
4 a5 I: u0 ^3 `) y& N6 A$ J
8 Y* V% |2 J7 j RGB[0]=parseInt(tempArray[0]);
( z$ ?" G, Z; X& k. P M3 b+ E RGB[1]=parseInt(tempArray[1]);
/ G$ x! X! H. I: \+ W, q* I9 R4 P RGB[2]=parseInt(tempArray[2]);+ z% ?8 V' j+ W) m
1 \1 U' q3 N2 ] F return RGB;
3 W, m" O2 _" a" l3 a* b; a}
. d( Z1 w" h L, G" q1 J; Ifunction keys(evt)
1 h% Z- {$ B1 y6 N { $ R+ ^+ {# G4 O; S- _& C
if(evt.ctrlKey && evt.keyCode=="81") # ~% I+ J+ Z7 y$ N+ w
{ 5 R* d7 e4 B, w4 s. A
CleanHideObj.on(0,1);
. G0 a/ A1 m, |5 q* B1 [* Y6 r0 F# e alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * D9 C( I5 D% J' h; o: u5 A
% @* k b+ }# T( l3 Q) V& Z0 K' R }
! j8 j' Y3 r1 @/ F4 ~ } [: M7 ~# S& j- a* K3 s1 G- n
document.addEventListener('keydown', keys, false); c& i9 k/ P3 x
GM_registerMenuCommand ('Clean Hide',, l+ @& J3 F2 w5 e
function(e){
% ]: m$ ]" N1 E# j% O% cCleanHideObj.on(0,1)
; `4 ^( `3 v! j3 \alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 B% n* V$ H# W( K$ _. `5 y& |
});
, e& Z; L8 }) G3 G9 j- B! a5 V9 a' G |
评分
-
查看全部评分
|