|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
# e) V& C* @7 o2 G9 u$ E- c$ l7 y" n+ H. y& X- W3 I N+ [
火狐插件,用猴子/ ]: `6 e0 [9 j0 c# d
. `5 e$ Z" E3 T5 q) z( E
var debug=false; 9 |$ X: v) @+ Q
var CleanHideObj=new CleanHideClass();" E' T, b' ]) F1 N# Y4 U5 Y
c/ g/ ~8 ^4 L* t# l3 t. }9 Jfunction CleanHideClass()
+ A# ?* Z% r1 `- e- x. P% S{ 4 o9 Y# M/ j& l; |7 C% s8 t' q
$ |# L( d" j6 z3 g/ S this.on=function(id,bMZ)* b( [# A) |+ h
{6 H& o @/ S; j4 v% d& M
4 ?, i3 B- ~9 Y1 a if(id == 0)
0 X z& n& C/ x$ Q8 s5 p {
8 V7 f9 Q$ ~ v' L u2 D var page=/* document.getElementById("content").contentDocument */document;
/ e# _3 |4 K$ N1 s* |" Q this.RemoveHide(page,"span");
; v. s* t$ N A- i9 Y this.RemoveHide(page,"font");
' E- _. |9 f5 m! _+ [ this.RemoveHide(page,"div");5 S1 b4 f2 N" E) R% a1 C
this.RemoveHide(page,"p");
1 M+ [9 b' G. L9 k+ R
! B9 O+ y! y1 `0 K }
2 L9 m6 y* g) E# u0 U; e* } # ^/ {" U/ v' B: P& i* i
}
' x+ u5 `1 {( z' j$ ?. X; K: H this.getobjstyle=function(node,prop)- g/ f5 A7 C# i8 Z8 |
{
" @' s/ A8 m: p9 H9 X try
- w# z1 |& x8 O r {) s4 f C/ C: L# o2 B
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);% y5 H0 H* z3 t9 }, T* T- \0 ?
} I V! S' q) k' @5 v4 ?- u
catch(e)/ n3 O K4 n( A: {) ~
{
$ |/ H+ }8 H1 n: M' j+ M if(debug)1 _+ I$ l) P6 w* m9 S, S
{$ S+ {0 } f9 k8 e+ P- R, \
alert(e.message);
0 ]8 V6 W, p! u* u( b) I. k }! j2 }3 U$ a! x' d' m3 [
3 x6 k* l2 @* @0 O! s$ u. V
return "200";
; V0 w) q& ?0 i6 w }
# T6 u2 S: T0 F4 W }
?9 k1 p3 d7 P+ ^) a3 Z: F' n 7 |# G) x6 K7 O [9 @& D
this.RemoveHide=function(page,objname)" K2 }( L) Y4 g& T/ H- z- F
{
% @9 a0 A2 i9 V, |2 [/ e try
( I% B/ @9 k+ j% n2 P+ p9 f' q {4 S3 x" \% e0 x9 L6 _4 }
var minValue=15;* m4 N' c3 n! i) v
var objs=page.getElementsByTagName(objname); $ J# _4 H& L3 B. I# @0 c7 S& w, Q' |
7 O( a& w6 m. m4 g9 Z% w. c if(objs.length == 0)
( V( u0 r/ k( A* _ {
$ k, \8 W4 |8 K) z2 J if(debug)6 H8 `3 L, Z9 C, t2 M; L) j0 K& F
{
! Q9 U, J9 G9 u8 D/ Y2 f' D alert("no object found!:"+objname);$ I6 G! }* ^+ l5 }; y
}
I5 K" U7 [( Q: K }% l3 T' b% i5 o
else3 b# G; p3 y, C" e
{
2 D% H+ d* B, W ) B" U7 j6 Q' D1 r9 I- p
for(var i=objs.length-1;i>=0;i--)
7 G! F+ S4 D: W4 H {
- F5 M6 A9 P0 g7 C var node=objs.item(i); $ K3 U7 x9 m& g( E! Y
3 } W# I, A v/ e$ f
" j4 z/ i7 }4 P+ t7 u# n& d
if(this.getobjstyle(node,"display") == "none" ||+ |' t* q7 y+ L# @( `2 v/ Z6 `
this.getobjstyle(node,"visibility") =="hidden" ||
" t9 ~7 a. F q2 k n; A9 Y parseInt(this.getobjstyle(node,"font-size")) == 0) " Y& H7 j) m- u/ D0 g* N
{
6 @5 R) j5 G" F; ^' R if(debug)
5 ?" g; W. E L C, M% t {
/ f; a- n) A( G alert("remove invisiable!");
( O# M9 h) R/ ~' l- l; W }/ r% F6 t# r$ j) p
node.parentNode.removeChild(node);3 Y0 ~" M# I1 K: ^/ }, {# [" V# H
0 S! }( [ m+ }: b, z; P+ ^; } }0 F6 k, b2 d* m7 }, o2 p
else
0 B6 T- k1 `1 |, _& A" f3 b {
3 y; F* F# p7 S( @ if(node.parentNode) 9 B9 ]+ Q1 u4 @: x7 }8 F* t
{+ N: w! O# K, Y5 j3 C. X
var orgNode=node;
1 p2 H) n$ `# D+ h7 c6 R* G- t var orgColor=this.getobjstyle(orgNode,"color")
" j5 _$ _- q! c8 [! s" @; P/ K var orgRGB=getRGB(orgColor); ( F% x) C) m% g% W0 Z7 ?( \4 z1 T, E3 L
* m4 e& H: z1 ]7 p% K
var parentNode=node.parentNode
/ B# u0 @% ]$ m7 P8 @8 ` var parentBgColor=this.getobjstyle(parentNode,"background-color");. u$ Y) H+ B$ |3 j
7 P. X0 t4 ^6 ^8 E6 c% R+ T
var isLast=false;. l9 K6 n- v d O+ Y4 T/ `1 A( m
, C" ^. T+ j4 ?" m0 b2 M while(parentBgColor == "transparent")
7 E/ n7 z! F1 ~ {1 o0 W' m! `4 H e
! k1 E2 y- [+ [. l- q' P5 h ) G# H* l) T1 B8 Q6 }
if(parentNode.parentNode == null)
, @! q9 s' F5 ]# C& o {
& w7 z7 A" b* O1 A& ` isLast=true;" ?8 W/ x1 q8 l( U" Z
break;( w7 o- z) |: F% m) n" p: _
}
% {" S) k: d( B% c parentNode=parentNode.parentNode;
. H/ w- _7 T4 k3 P+ e* b D- M6 T parentBgColor=this.getobjstyle(parentNode,"background-color");
) \: Q6 B. z' \5 l# y
2 E, J p- i; M6 ~ if(parentBgColor != "transparent")
* C; v5 |1 M8 N% O& X! V0 T) z {
# x& p* A9 B: u break;+ B( `' f# k0 N
}, q. N$ O% q( O, K7 {$ s
}8 H' Q+ o) W* b1 S1 H( s
if(isLast) ( a* P' ` b% E. `- s Q
{" g- z$ v4 m6 y0 p/ Y' X C/ z3 s
if(debug)
+ W5 {6 b% J) Z {3 a) ?6 A! e [ d: E, V
alert("last!!");
8 |, g" R, b! C+ g8 c3 k/ F }& Y) A" t* {7 W/ J9 d! v1 N+ ~% G$ H
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) y6 G A9 m0 T# T! A3 ]
{
' y9 k3 z8 @- @4 j4 y& N8 U orgNode.parentNode.removeChild(orgNode); / `2 k, J: Z" }
}2 \) h6 O" ?5 D+ j
}6 |! F! a& p7 R# i1 B$ y4 H3 e
else( o7 x+ R; Y" R1 z; q
{
5 U0 O. E2 J4 x6 d# Z. m if(debug)
v6 e6 E9 l& R ~& Y, N {
- J5 X+ N1 d: A, X( v# ? alert("compare color and parent bgcolor!");
9 h' O! \- |" M: }* D }
1 V T$ L3 }% x4 e& d8 [/ j! m# c parentBgRGB=getRGB(parentBgColor);
: J7 I' P- f& D4 Y1 _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! c v0 t4 E) c3 o+ U2 O9 u; @% y {
. B, W: B9 O+ M; w orgNode.parentNode.removeChild(orgNode);
9 U4 y2 D" D% r- F7 N6 L }- M1 V$ v3 k% k: L# w6 g' E
}
$ {% P1 d! F+ d- X1 r1 v8 W% \; ?0 Q) ^+ b }
; M& k, o; J$ {- t4 v$ ? }
: a. ]% l' a3 f6 @ }- n1 l$ o: F* o9 T% Y
}
: ~2 I) H# k9 ?! l- Z$ f b* i 9 S, J! z3 h! x* X9 e
$ i: E. d/ h) E/ h- q& `! N
var itemFrames = page.getElementsByTagName("frame");* a! h4 c. k, p* }
var itemiFrames = page.getElementsByTagName("iframe");
8 A2 W* j- t5 I , N! E7 N( d1 ^3 C
var frame, iframe;
2 @4 } Q K, O) r# X7 [ if (itemFrames.length > 0)+ D" K: h8 H1 T4 B5 \, P& F( k5 Y
{8 U( e) V) Z) x. R
for (var i = 0 ; i< itemFrames.length ; i++) 4 d% @6 M7 W) |8 n3 X$ }
{3 W f6 q0 j) ?4 m3 ~* q7 ^
frame = itemFrames.contentDocument;) F; w/ z: R9 ]: [2 c9 `1 u
this.RemoveHide(frame,objname);
& b. w. y- I `& B0 x8 `9 j/ c }
; B6 G3 P' W" V }
t* a- q; g9 k5 E5 H4 }5 G if (itemiFrames.length > 0)
8 v$ S" T4 }2 l' F) ]/ p {; L7 X) _; h E$ F( R( [' `& g$ v
for (var i = 0 ; i < itemiFrames.length ; i++) / r b' @* Z2 R3 F8 G: I8 G
{* D" j/ Y) {. B$ F) B" \/ a
iframe = itemiFrames.contentDocument;& `% F! ?* D) Z; n! I- M9 t1 l
this.RemoveHide(iframe,objname);
5 W4 \' R5 L( v7 B }! F# F0 I2 n' R0 o6 A& r. G* l) D
}9 B6 q& s: U+ r1 Z
}: Y! O* G( B7 J9 g0 ^$ ~4 ~ {
catch(e)* C5 T9 C. Z/ f8 Z) k4 E' G3 k
{
) @( z: e% L) W) w5 o L5 L+ d if(debug)
7 f2 R$ @' F- m6 _9 j7 ^. {+ p& S {
2 v8 o* Y, W0 O alert(e.message);
" {1 x3 U$ U3 p# S" E% [ }3 p0 y" \; w+ Q' z: h1 r l
}
1 A2 p( b" {4 @: F4 W( E }/ g$ o: n2 R |! D
' R9 _+ j1 h9 L- w% d} {0 ^, D+ Q7 Y# C
, s5 M1 V8 R! B6 I9 t: {
function getRGB(colorString)1 c7 }) j5 G- e
{& y' Y/ _; m, _3 K- k @
var RGB = new Array;+ k$ I) n/ N- g2 c
var tempSting=colorString.substring(4,colorString.length-1);1 v7 d. w9 p8 g8 ~4 ~; I
var tempArray=tempSting.split(",");
7 N: G, M6 `3 _2 u& r
3 ^0 p% ?# n; e1 W0 Q x- n RGB[0]=parseInt(tempArray[0]);
l$ E5 T* z/ r1 J: ~ RGB[1]=parseInt(tempArray[1]);
5 o+ _" w' L& q8 g RGB[2]=parseInt(tempArray[2]);
8 g6 Y! s8 s+ G6 \2 H7 X6 b( u
* b0 L. C' R2 |4 y return RGB;3 ^2 O2 s) m3 ~" K
}
/ p8 E2 e$ m: M3 S: yfunction keys(evt)
6 X& T7 V3 z, I0 N J5 S# y {
6 {8 U( G' z% I& G, @ if(evt.ctrlKey && evt.keyCode=="81") # C; U" f6 }+ \9 g% G; s6 M
{ . `% c5 o* l' b* B( }
CleanHideObj.on(0,1);
. O4 p# G% e% z, w ? alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ Z& v& I% Z( k; v' W
% o- @+ U, Q. i9 | } : F" H- ~% q5 R ^" u
}
& f1 p" |4 b$ g7 H3 m( {$ h$ J, idocument.addEventListener('keydown', keys, false); + S+ [3 ]1 ?, P7 N9 u( Z$ Y6 d2 e3 M
GM_registerMenuCommand ('Clean Hide',' `/ D1 ^7 _6 G+ D
function(e){5 }7 L9 X+ ]8 @- E1 `" @
CleanHideObj.on(0,1), j7 n. G& e: y, g' e, ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- G7 ?5 F# D- U; N; v. i; E
});# [$ ]! u7 R; o5 @' g9 r
|
评分
-
查看全部评分
|