|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( Z2 G* u) I2 v0 k& ]- D) ^
" |* J5 \7 t0 s4 h火狐插件,用猴子
) m, H0 c* e& g; O2 U* _% k, Y
( Z. |, S9 W1 y& {9 t5 N1 B3 Tvar debug=false; : w2 b" f* i/ n2 x$ p2 L5 f
var CleanHideObj=new CleanHideClass();
% J& B; ]$ n H& o$ h- _0 ] p p1 W2 P* w( t+ ?6 }
function CleanHideClass() 4 i5 y4 |8 e3 t( v- ], }
{ # P5 r. R2 q' W: {5 x) j/ ]
. ?" A) C3 `7 V" o8 \7 L! p1 j
this.on=function(id,bMZ)
% B+ |( f) `0 L, E# o/ ? {
! H6 Y4 |2 A5 F; t& ^, E 7 e6 X8 n% v+ v0 l+ q9 t+ z* }
if(id == 0)5 V- u" f0 h: k# ^' j3 A
{5 B1 W' B2 V7 r2 f" _- ?
var page=/* document.getElementById("content").contentDocument */document; * d5 d- { U- N& q
this.RemoveHide(page,"span");
* B6 Y7 m) }; L( |6 Q this.RemoveHide(page,"font");" n, P' N7 Y6 r- {
this.RemoveHide(page,"div");! w8 r4 }+ g6 I
this.RemoveHide(page,"p");6 z8 D. D2 I. Y5 a$ {
$ S4 ?2 b# }' K- T3 e
}) E! @. y, Y: I6 e( D$ W
9 a8 w& H( x6 k+ w# b2 e
}
' d7 V, b8 Q9 g- q" I! R this.getobjstyle=function(node,prop)1 k$ }2 f: E6 B0 I3 w9 Q1 ^% Z
{6 D+ ?8 l |, Z, P7 E
try
0 j' I8 h8 Z& o. U$ D# r" I" ~ {6 y! g* Z% i$ ?! R0 c `4 v
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 H: |! D+ u* o* I" @4 ~$ \/ ~ }4 q$ v; s9 W$ P& J
catch(e)
0 i) O. M6 w2 i0 [/ T# |; A W7 U {
# W* P7 X9 |! D if(debug) ~8 c6 N3 ]- W$ G5 O' p# {
{
7 Q; f2 J5 v8 u$ n& r/ S alert(e.message);
( j; x$ U+ [. A) s# U; \8 ?# d' g* U }
- d8 Y9 F( y, \/ O# ~' h7 ?
& S# ?1 _/ a- F/ B) k) M return "200";8 s7 E4 b& b. ^0 o, \- X
}
4 ]3 |. l2 d+ _( R( u" V; m }, o# B" k& R4 H+ A8 C
2 ]& t% B" k0 J) a I! v1 J. x
this.RemoveHide=function(page,objname)0 j# ^( h( Z! j& q6 g3 Q2 N
{1 L# q2 f9 V2 @) f; E3 @
try
4 A7 D, t: a, @; E' d7 a {
4 a4 J% O3 p& Q6 w+ e var minValue=15;0 [' B+ ~6 v) ]6 ]" o5 |: T. z
var objs=page.getElementsByTagName(objname);
* W$ l7 y# y1 a
* b5 f) X! O7 a) E" f2 S+ F1 ? if(objs.length == 0)
7 H7 d4 r7 n$ d! ^0 s8 r7 C) A {$ o) Y9 |* x; S
if(debug)$ h, t8 i1 I$ \" U9 L0 ^4 U+ D5 H
{' e0 c0 b3 U' Y4 A: G
alert("no object found!:"+objname);
$ Y) j/ O; `0 }2 U5 ~ }; {1 i- y1 ]9 P" c7 R. _6 t
}9 ]/ x2 I' R9 d3 U2 P6 A
else" I# e. h" {' T9 P3 o
{9 [* T( D7 f. W& V
- `3 i0 D G' X# @ F+ a) i9 I for(var i=objs.length-1;i>=0;i--) ( }) |& ^) @5 c! k
{$ k R) y- j/ e( c
var node=objs.item(i);
5 j) }3 i5 [# W% H6 f# o 8 B' E, o- B# x7 C) V& ]
2 G, G6 E5 `3 Z+ w if(this.getobjstyle(node,"display") == "none" ||- t- K3 l4 M5 Y' H& q/ o0 Q& x
this.getobjstyle(node,"visibility") =="hidden" ||
8 z! a8 f. r8 v5 D parseInt(this.getobjstyle(node,"font-size")) == 0)
/ a& v/ \8 X: W8 N [) d/ H# F {
% L6 n+ N' {0 @, y if(debug). ` I1 L0 w6 M5 Y4 r' n
{, B; M+ f/ H D. {/ p
alert("remove invisiable!");! D" Q" w* m% C9 {. W
}
8 O V. @0 ?0 d. R# Y node.parentNode.removeChild(node);2 c& O3 Y- e9 A3 \. J
% ~$ ^3 g# K3 D; v
}
o9 I. J* C* f( B$ F else
$ ~) H q2 Y7 |' | {
% e3 {3 }6 _2 I if(node.parentNode) # O6 M K+ m0 V; e
{
% ] P% N$ L( N var orgNode=node;2 {% T+ ^3 Q4 ?5 f% l8 p ~
var orgColor=this.getobjstyle(orgNode,"color")
. v P9 j; k4 V3 H var orgRGB=getRGB(orgColor); - ~7 J7 J# K0 _/ k8 J2 S5 X; n \
" e( v* X: D+ U0 R( I. | var parentNode=node.parentNode C+ R0 n* ?/ N8 X* L2 `7 e
var parentBgColor=this.getobjstyle(parentNode,"background-color");
# U8 U5 I5 V, g2 n
' O7 T/ a7 f' W+ n7 u8 T/ T! a var isLast=false;
0 \/ X* \6 y, r( U7 |3 ~ 3 e& i5 u+ R, G+ `4 K/ V0 D/ G G$ D) S
while(parentBgColor == "transparent") 8 k" A( f. R% N
{, f+ x3 u3 _% K7 b
# e- \/ x( f, @8 X& ?4 f6 Z
2 a! v+ q I. U1 l) x) }: g if(parentNode.parentNode == null)# ]$ {/ {' P- b2 c8 u2 ?# {5 T
{! J$ z1 l; g* M& j) G- j! T) d
isLast=true;
9 f8 B4 i+ U6 m. A4 o break;$ X; I5 c- g8 d* z) h) h
}" D9 K0 x& W: J8 Q9 I
parentNode=parentNode.parentNode;
v2 H) ^6 N7 n8 B parentBgColor=this.getobjstyle(parentNode,"background-color");
; x) F% C; G5 L+ A! V& d# t, @4 o8 b
4 ^* i) r4 p* g- U5 Q& e8 C if(parentBgColor != "transparent")
% g5 X% {# j/ i! ^: N3 G {, }- x; T' m# p0 I |( k3 S8 @
break;
7 u; n# E0 C: r! [+ \5 ] }
( c8 _9 ]7 z% w$ H. Y }8 U' J; _( j& z8 p
if(isLast)
& l6 g+ P, m" y7 _ {
& e" @5 o9 w V# g% f if(debug)2 ^) N1 g: G/ m5 j6 c
{
; o. D4 d* S0 T$ ^9 A alert("last!!");
2 e1 i9 o5 q& K7 L9 j }5 a! V3 E8 W0 H2 Q( `
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 V4 E) t9 P- e; n! S1 E: S {
$ [# A. G2 Z+ G: C+ C orgNode.parentNode.removeChild(orgNode); ; q8 H, q; L7 v; e+ v4 ]# @
}
; A) u0 N7 G8 U5 x1 S) j }
8 A( ]- `/ N& V7 `5 L' g/ n7 D5 v else
; S2 Y7 D6 n2 n! ~ {
) H: ^+ D& L) `0 o9 P, I if(debug)
l0 J- w4 E4 |4 v# e; U {' {' s- a& f$ v
alert("compare color and parent bgcolor!");
5 x. j# U# P# w& B5 L, a! R0 ` }* m3 t! q! Y2 y( O0 L
parentBgRGB=getRGB(parentBgColor);
% B" x: J- W3 c$ _ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 G& K3 C+ n: P5 w$ W
{( N, q3 B& S: F# I
orgNode.parentNode.removeChild(orgNode); # z1 Q3 n) p6 g: i! u& y
}* }. Z6 L/ j& v, I. `
}
6 A& N. E, o0 E5 y* D } b) ]9 |9 z) _/ l% n) D$ T2 B
}6 @4 `- X- X: J8 F, D
}
! x! E1 t) a' M) Q }* e3 T3 _( a) T% t Z- ]9 y6 P$ Q
# G' X7 x5 E/ Y
1 l- {5 v; n( ]: }7 ] var itemFrames = page.getElementsByTagName("frame");
8 O; R# ^7 ~' H var itemiFrames = page.getElementsByTagName("iframe");
* D& L; T8 t0 q- S, l% K9 D
g6 e; k4 j/ n9 D5 F, j var frame, iframe;- `1 `/ Y$ z' `# s3 O2 e$ d
if (itemFrames.length > 0)0 p- c2 [/ o1 B+ q6 J
{
. `/ g2 {. x( I5 g! ?+ k for (var i = 0 ; i< itemFrames.length ; i++) - \) U+ c0 d/ f5 ^; T9 R+ O
{' S: {# D1 `. ]# a' I
frame = itemFrames.contentDocument;
: f6 K3 I; [ C9 F9 b* c# g8 b this.RemoveHide(frame,objname); * T% h5 p* o) t, V! K# x' c
}
+ p, D3 E9 Q' E9 a. L9 k: v }
k4 Q9 K1 T) M. h* o, h0 N" k if (itemiFrames.length > 0); B A T2 T( f8 x8 A! B( F
{
& W: L6 L6 @! B/ O' s for (var i = 0 ; i < itemiFrames.length ; i++)
- Z+ }3 e) t' d+ Q! `6 T {
+ g4 Z1 A) O4 P iframe = itemiFrames.contentDocument;
! |- @6 e5 K* B) h! t+ g- Q% | this.RemoveHide(iframe,objname); 9 Q2 K; C i( u( y( M
}7 i3 \2 c% R- `4 Q
}$ y7 ~3 ]+ ?; k4 M! ^& _: N$ d
}
, X0 ?2 g4 m( Y5 W2 I( a catch(e)7 u/ I# ~7 M) j8 P) K7 o5 o
{
2 ]9 X5 C2 G9 _% W! v: k, f, h if(debug)
6 V9 A5 h! B& S. T5 B {
) l# I% Y- T5 o( D alert(e.message);
3 a/ [& J, Q8 ^% N/ K }8 y/ \5 p: V3 |
}8 e* f, b6 l5 m, m6 e
}
0 ?7 l# N' _* u; }5 [' a/ J
/ i( X! ]2 q: D1 T}
; k$ s3 a8 O% B* ~9 l8 O' @8 a: L& z% R: I
function getRGB(colorString)3 V+ }0 H0 x, H8 s
{
0 j% g) H# T3 G3 m6 \& ?9 m8 G var RGB = new Array;
, c l( Y: o7 X7 h- I var tempSting=colorString.substring(4,colorString.length-1);0 p$ ^+ T' ]. T
var tempArray=tempSting.split(",");
% c' @" {; c! D- [ k+ k/ ~- J( x1 a" z
RGB[0]=parseInt(tempArray[0]);7 M7 n; \1 O/ S# p
RGB[1]=parseInt(tempArray[1]);
" @% r+ }, @5 t8 f% l' B; r RGB[2]=parseInt(tempArray[2]);% j- ~1 P! H3 Q- [& n2 y2 I
2 D( P/ G, a" u return RGB;
4 p4 y% a0 j. L" |7 h1 s/ U}4 B; q+ n8 F1 W9 ]3 p: w
function keys(evt) 3 f) H9 ?& i* P0 F/ s+ [0 t
{
* D: }' ~" k& t; P if(evt.ctrlKey && evt.keyCode=="81")
3 D! L- _, L: G {
5 Q8 U* ?1 [* p# x3 Y# F CleanHideObj.on(0,1);
+ b j+ |! z) d9 h, U" H3 M4 e6 w alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' [6 M- s/ |0 }
& G) ]0 X( p( B$ S! W% N1 R }
c @) |9 V3 J' i; L1 S: V- N4 N' u }
) n4 X% T9 r5 H. a$ ^document.addEventListener('keydown', keys, false); 3 o! m7 o& ~! S/ V) ]$ J
GM_registerMenuCommand ('Clean Hide',
7 r C: c. i4 q: m/ dfunction(e){
9 o/ s' r9 Y, O! \" _2 f9 j, eCleanHideObj.on(0,1)
( I O1 r& Y, Ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) b" P' q3 w% o4 _2 E: j# c});
" X/ I$ y: F( Q |
评分
-
查看全部评分
|