|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - [' ~* K* R) H4 Y
' b2 u- V, [6 A3 z: A, \火狐插件,用猴子
0 O3 U/ t7 P7 }$ t
; D% j) r7 u& `4 | C q7 [4 \4 tvar debug=false; + s( @8 x# h) }: ~5 F4 g
var CleanHideObj=new CleanHideClass();+ u2 Y5 Y+ Q w8 l/ w( P
! T6 \- Z4 [' R0 F* r% T
function CleanHideClass() 9 V4 i m) s5 O! `7 e! h! o
{
+ x q, q: Q. ~/ P4 N: X; i
" g* i6 m7 k7 D& I$ t: t8 { this.on=function(id,bMZ)
$ Y- i! I+ q5 G0 X! V {
! O* b/ d2 ?3 S0 y' ^ % g7 D! ]8 C$ Y0 A( |6 @9 s
if(id == 0)
1 R" ~/ F0 t# p" _0 g {
& c5 f5 K; n W/ C U4 \6 J4 } var page=/* document.getElementById("content").contentDocument */document;
* @; c7 ^9 Z* q this.RemoveHide(page,"span");( }5 q6 S0 G5 C% ^" T
this.RemoveHide(page,"font");
8 v* O7 ]8 b# S this.RemoveHide(page,"div");
6 ]* z( B6 E/ Y$ m this.RemoveHide(page,"p");
* x7 g2 }% j* X b; L* J ?% O( [ ! B- l9 j9 [7 s3 i/ v2 n1 Y; P
}$ b- K9 {# F# A! I2 y/ B* \- z
1 K, ^* N- i+ |7 {0 G# l7 j9 ^ }
2 P& G- |8 i1 K0 Q. t4 d$ ?/ _ this.getobjstyle=function(node,prop)5 M! D6 k; l: S
{
' |5 q% _8 p9 c7 H3 o3 t try
; @* E3 l1 z' f9 A: e, L% | {
% l2 V5 P m% Q1 P7 ~ S+ n) Y4 _ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, b9 W) X7 U" f+ u
}; z" d9 C: t$ N
catch(e)8 ?7 F7 u" y8 a: a
{
: m+ \) V# [! [4 k# t if(debug)7 [( i$ B% {; C
{
1 b" l' @7 ]7 Y3 A$ W* \( `3 o5 M% N7 C; p alert(e.message);$ n$ ], q: J6 A+ Q% }
}
! \' c# Q. j# {, k" I! v5 {- B$ i9 J; [ $ A: q1 W6 s- o; T* u8 y3 [
return "200";% D: a4 c( h2 @: K9 p. |0 I4 e# U8 E
}
9 _, E" x5 J& E& [ }8 ?, g- q; P+ a6 }3 p. O
' `' ^0 }7 A7 B this.RemoveHide=function(page,objname)# r8 ]- a1 c: ]5 V1 _, w
{
6 E0 U. r: t8 o0 x& D8 S try/ Y" `% k' Z: @( v! d, A w
{# Q) I6 H; m' Z- Y: p% C) d
var minValue=15;3 b$ S0 S, o# ?* B* H; x6 S
var objs=page.getElementsByTagName(objname); $ w& f( m9 O8 y5 ~) s
. f! e% \& Q" K8 j/ g1 S. { if(objs.length == 0) , C% ]9 e' Y# t) k7 I; ]
{
9 Q* k+ F7 \! O# l0 @& L if(debug)9 [' y8 x0 \2 q8 s1 b
{
+ Q( ]2 [! n3 q) l: O3 h alert("no object found!:"+objname);
" x# C1 i; \0 ^0 ^ }
, @; \& M8 _, i* @1 f6 c9 f8 I5 K }
7 R& e, k u; S& f# A; \0 ^ else
, k( w4 v+ k( O, |, \: _8 g5 F {- }4 e3 J2 u0 D: G+ f
8 ^0 m$ q% q3 _
for(var i=objs.length-1;i>=0;i--) , r2 a; A* [" v$ ?
{
5 _ i$ `0 M: h& V: E, Z `: } var node=objs.item(i);
% d; [% O0 h0 g3 C/ U
' q: T1 m1 n. ~7 R$ m& P2 A1 u . Y" R1 ]5 i5 }
if(this.getobjstyle(node,"display") == "none" ||/ U3 {% @1 [" D5 F
this.getobjstyle(node,"visibility") =="hidden" ||
$ b& q1 Q6 J2 Q parseInt(this.getobjstyle(node,"font-size")) == 0)
9 t: s2 v D% \$ S' ] {3 Q7 e5 G' g/ h. L% Q- x
if(debug)
+ d9 W9 }2 w D7 \; V {( m; S/ Z8 N- E& Z& s# ^
alert("remove invisiable!");
/ x0 p. p. R9 P m }( t$ e/ y/ J0 N( p7 t
node.parentNode.removeChild(node);
2 M- q) l/ L; G h8 \- f& w( a n . F4 E2 y' m: [. }6 h1 i' |
}
3 s. v; a. M2 a# T else
0 @; M$ F7 z6 _: n% W1 t {, N3 b( L" D9 s/ {/ Q/ O2 `
if(node.parentNode) q/ |$ i3 F& I# }9 V2 v* \7 {+ v
{
" q6 {! w3 t8 C var orgNode=node;
# \8 Z7 @- R! L& J0 W var orgColor=this.getobjstyle(orgNode,"color")6 f2 o- Y" Y7 O
var orgRGB=getRGB(orgColor);
8 ?0 Q! g2 l+ S( C B' d
! \3 A* ?8 o# Q. |( Q var parentNode=node.parentNode2 G7 Q. G$ w0 G2 g, f% A
var parentBgColor=this.getobjstyle(parentNode,"background-color");
; x- K: g) i0 T
( K$ h) k' R5 j# [( L var isLast=false;
6 S0 J- r6 i8 j% ~% G
) Q; n& r5 F6 w. s; u+ N) u* H while(parentBgColor == "transparent")
5 E, V, o: G" D% P% ^8 u9 k {; P* M$ I8 y* e* {
% N3 |3 w0 K& P2 J# z m% p% B
) \: N6 o4 p) _3 W/ r if(parentNode.parentNode == null) \* _2 U2 g0 x2 O8 [* r( |, r7 Z
{8 f- o* Y' o0 u" {5 W% [
isLast=true;
3 E. D' d+ {8 p" _' v) K2 z l break;' f% `. E! R: h. A" f- f
}
/ H/ G& W8 @1 v4 N/ J parentNode=parentNode.parentNode;& y$ c. p& j' q1 T
parentBgColor=this.getobjstyle(parentNode,"background-color");& @8 N p9 R9 }2 ^$ a" `: R* ^8 ]
( G$ |& ~' W2 v: U% R5 n) O
if(parentBgColor != "transparent")
- h$ B1 G: W' j: B, } {6 B( F4 U, L" ^/ e
break;
3 _+ G% i- H6 i( k3 d6 U# c }9 T* ^& m" @1 _ C5 J3 r& s
}
v; p6 e+ B6 p, z5 z! U if(isLast)
: U1 {9 K' ]+ V7 L {- `9 T& l1 }' f3 ?- m
if(debug)
0 I3 u1 i+ D3 M% G" D! A" z {
C o9 _7 |& S2 b4 A alert("last!!");4 U; H' H: U$ j& ^9 Z' P3 z' c
} S, l) d+ S1 q& r+ c- d- K
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ x7 o% O1 F' t6 H0 B& W$ R3 S1 y {3 h; |# x4 e. P N9 J8 e; ^
orgNode.parentNode.removeChild(orgNode); 8 F1 |0 l' T0 z6 l- V% C8 | U* j/ L
}
, s3 J, D' p& X. x; e }; V+ F, D3 ?, W1 N
else
* r2 N: P( L; n1 k0 K4 p2 [& V# } {5 I7 ?3 J0 w) Q/ V+ C
if(debug), a) L2 d! J/ a" Y z( H- {$ F1 o* s
{
/ I5 ^. ~. C9 \6 i, q alert("compare color and parent bgcolor!");, Y! l; S: @& c) v% s( h
}8 G- S* M5 R/ j. c
parentBgRGB=getRGB(parentBgColor);
0 g9 o& m4 R- y+ _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* @+ K9 c9 U2 ~/ U6 T) c$ Y6 J
{
. z# r, g' O, X+ T& u orgNode.parentNode.removeChild(orgNode);
, Q( T/ M( c+ n: b& m }$ M- c/ C. s; C' @1 H
}; _2 |. E+ v2 T4 G+ H& R8 A
}
A+ N: N; D5 y3 o, l$ w8 y$ U }
/ R. h+ j3 _/ F7 i- V% D9 C }
! ~( V3 T1 g( h' Q- y/ S }- _6 M% D' W a% ]* v ?- y
. B" Y( z5 R8 [7 |/ _6 L
# L6 M3 ^6 ?2 O# B* N l var itemFrames = page.getElementsByTagName("frame");3 ~3 U P5 G' r' t1 x+ B7 C, c
var itemiFrames = page.getElementsByTagName("iframe");6 j. {5 a5 {+ J# }
" U5 _) p4 Q6 q3 E& e: g var frame, iframe;
; V2 I9 i' i( w0 \8 N if (itemFrames.length > 0)4 H6 a% p8 ?( h7 i
{# P7 d, U: w" X, U4 d P
for (var i = 0 ; i< itemFrames.length ; i++)
0 _5 b8 k/ @; U* o4 ` {, N( w7 U+ C" l' Y6 R" W* L
frame = itemFrames.contentDocument;
0 W: s# p- L2 i, v7 ] this.RemoveHide(frame,objname); # M, d, e+ }1 I6 |0 Q
}6 b# U5 T8 m4 S: k/ I" |7 R' r+ r
}
/ h. R9 @7 f$ }. M/ Q# _9 R) h) \( @( c8 I if (itemiFrames.length > 0)
$ d, T* W. J4 w" k2 j {5 m S/ u2 e+ f* x) x+ Q
for (var i = 0 ; i < itemiFrames.length ; i++) 4 X8 J9 o% c8 S2 C2 a- R8 D
{
4 B2 f- p# h1 x, t iframe = itemiFrames.contentDocument;
- ?5 W4 X8 J. c" T2 D this.RemoveHide(iframe,objname);
@2 Q) U6 y3 a; Q5 v }
# z' n) k) v' i( `6 ~' r }
2 m; `+ }. }# I1 e }- i3 n% U9 @5 H* }6 ], o% T! }
catch(e)
/ d- N1 J/ X3 R; D {, v/ w2 |& }! ]5 [" F, I& K
if(debug)
$ u6 c4 a* a0 O {
% ]7 S$ n2 w; N alert(e.message);
+ I0 V% h5 s6 J }/ x# `+ v$ ^$ h% b# e- l5 b* V* i
}
8 v6 C# n& @4 j F% W }
: K" p1 l3 \+ T* S9 ]" a8 s$ \8 K 5 c3 f, Y: f) N: I
}
" l9 Z+ I* ^) H! p
( i9 y0 U. V2 N8 Z; k6 O6 Ufunction getRGB(colorString)
9 K; ~/ e: M$ a5 ?* z{3 I% R1 j0 H8 e7 G1 [+ W" P& \
var RGB = new Array;/ Q+ H. A, d' V7 `- p+ ]
var tempSting=colorString.substring(4,colorString.length-1);$ @. Q1 v" l+ v
var tempArray=tempSting.split(",");
& p; Z3 @# ]3 O: |# M$ r9 y& [1 X! G$ H( P/ `2 q4 g4 x' x$ W1 m* s
RGB[0]=parseInt(tempArray[0]);9 H0 |2 I! J( H: p" u' K1 ~
RGB[1]=parseInt(tempArray[1]);9 b% I- ?: L0 ]; b
RGB[2]=parseInt(tempArray[2]);1 H s/ E. Q7 m5 j( e8 i, n2 ?7 z
- H+ c' |6 L! `0 O4 g' k# y
return RGB; o1 r C; v- h$ Z
}
3 ^" A8 O% O0 Qfunction keys(evt) 6 j: G v ~% U
{ , F( u7 N! `& v& Q# Y( o D
if(evt.ctrlKey && evt.keyCode=="81")
1 @+ Y2 l3 G) w8 c4 b { 6 I6 ?0 T9 G) F$ a9 M
CleanHideObj.on(0,1);
& w" p& M9 \' Z4 j. l alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 Z, {! S8 G- |1 Y) Q* O4 u
# R: e4 C9 ~* x# Q! M# T- a" ~# U' \) Q# I }
3 u0 F/ Y' K: i0 p! |# r } : |2 s6 ]: E/ a# P& z' Q( d
document.addEventListener('keydown', keys, false); 3 O% k6 C" D* c! M
GM_registerMenuCommand ('Clean Hide',
, @( f H. g2 {8 [) `' b, Zfunction(e){
4 }5 y& t/ W" d$ D9 l, i9 ]CleanHideObj.on(0,1)" I" q6 S: [* D3 w8 g* h: `3 A9 }4 Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 e( V( F$ `; M- R. ?
});
# z. N( A& h, J# g, J9 R |
评分
-
查看全部评分
|