|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- h/ k* s1 @, W u+ ]! }; h ~$ `" A4 |
火狐插件,用猴子
3 x" d1 H% R! ^; f* h" T2 W; z/ _+ u
. u; A8 a* T M5 Q* Ovar debug=false; 9 `: D8 I2 Q' r# ?/ L
var CleanHideObj=new CleanHideClass();
) R' n# f# n0 R3 y8 x4 a# ~% F* k' Q8 ] N! Q9 X7 l! n
function CleanHideClass()
m+ B+ E7 Q, o( G) B{ - g4 O3 K/ c& O6 a- y6 m7 B: D' n: Y
/ h. T3 _7 o, k7 ]0 D
this.on=function(id,bMZ)
/ L. h2 ?8 [* p3 W& ^" _; i {
1 `" T& c& n1 Z3 l/ L# p7 x8 b$ P
' i( ?( J5 M1 r1 \' L if(id == 0)
) p4 M( }7 _3 y2 U {
' A# U. E' b5 z A# ~$ ]" ~% ]9 @; i var page=/* document.getElementById("content").contentDocument */document;
+ {4 u8 O! t( ]) n' F6 P this.RemoveHide(page,"span");8 a( R* G8 e/ ?8 _8 A4 U
this.RemoveHide(page,"font");# R6 X' d) I- L7 S1 C5 E
this.RemoveHide(page,"div");( l7 V M) y D" P {
this.RemoveHide(page,"p"); j! }# H4 D: d6 {
6 M; y! c6 V, z8 E2 ^3 h% R2 A6 M }) j3 u3 Y1 l; o8 B0 h& n! B( I1 [
6 v- A2 L1 I! ^" {6 a; S% _! I
}+ z& W' z3 m0 [$ S: d% p
this.getobjstyle=function(node,prop)& ^5 ]8 T( H3 s) q) f+ f8 i7 S
{: x* K- o) K! {; c2 ~2 @8 r! h
try
! e9 X* u7 W V6 J6 M {
# W* @5 h! }1 r) Q* R9 {. `# A return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* t8 f3 w/ |# I5 F
}( `& f2 x% C% S7 }$ H4 s
catch(e)
+ r) ]4 Y% h! h1 w {3 N3 [# D! v$ p( i# f+ w! K
if(debug)
0 @4 d* w3 C1 A {
/ V o& J) j9 x$ G alert(e.message);
* g7 A5 ~: V4 O- {- |9 y3 A: o }
* r0 t; `0 f1 U0 d8 z' N . c* b+ x7 R B0 I
return "200";6 o$ e+ i) u- H5 ^2 A$ `( Q
}& ~% E% {, Q+ y- Y
}# u8 V8 ]% M, h7 F
: D! R; h+ \ S this.RemoveHide=function(page,objname)
' _6 K5 D7 n# z6 \! w- O% }3 o {
9 w% Y4 ?3 D$ ^9 D try' m9 J& i. n0 E# y, w4 {5 Y
{* l1 P+ Y& A& M' o
var minValue=15;2 j$ I$ d" w; \7 r4 S
var objs=page.getElementsByTagName(objname); 6 t! t6 d& I6 d; N c+ w
& @- x& h* k# W8 |
if(objs.length == 0) * Y9 z3 N0 |* j( O4 `! ]
{
0 b5 b+ q4 ?4 q" V% k w if(debug)
- _8 |% e1 d+ n+ |7 T {( i1 M3 w; E# }# l
alert("no object found!:"+objname);+ R; Q+ w6 c0 e
}
1 `- O# y- a( L+ c( z$ g }
v- K0 q8 ^% e' a3 Q4 j else
9 M8 g, Q. P! G9 ~5 m {/ d, `& T' V- U( l- C6 a
% u% t2 @. D- [) r9 y) x
for(var i=objs.length-1;i>=0;i--)
8 x$ y" o+ F5 x, w! v; J. W- v4 P {
; {# { _% u" O d3 {9 D. P( K var node=objs.item(i); ! I' [- L, Z; x7 Q! R
q7 m \4 O+ ~" X7 H, l + ?0 u7 @1 }& v5 M. d
if(this.getobjstyle(node,"display") == "none" ||' I8 s# d+ |! J" @. J
this.getobjstyle(node,"visibility") =="hidden" ||
3 h" @1 r, _: L6 x, L& W0 k5 o2 l parseInt(this.getobjstyle(node,"font-size")) == 0) ( M, Z( }" j: K
{9 A, R" R) H; s& ?' ?8 i- c
if(debug), S- q: b# |9 t3 c4 r! Q! i$ A
{& A# x% N; b0 h7 R; k! `
alert("remove invisiable!");" q$ v5 m/ l9 m4 D+ t* H; X( `
}- s! G, V* l, C# L
node.parentNode.removeChild(node);) p( f5 u5 j1 J/ M
2 f' _5 W. @8 o% B. }6 f) Z! a }
; A& G7 u% z/ I else : o# D2 E1 b- {* V! G8 ~" @
{
0 }2 j2 K* \+ @- B1 e if(node.parentNode)
8 q: o5 B# I) Q, P: f( n3 ~ {$ B! t4 t. W7 ]! g0 b
var orgNode=node;! V J) T' I9 V
var orgColor=this.getobjstyle(orgNode,"color")
; @0 E% q7 r' i: c+ K, h' S var orgRGB=getRGB(orgColor); / b9 \7 L7 G4 d/ z' g' i U
3 L+ x7 _- v4 F; m& p var parentNode=node.parentNode( a2 v1 Q1 g. K) h3 X6 Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");2 E' P% {& n% e! V9 a
! A* z, n0 u; X/ b* q' i6 g- G var isLast=false;( e' ^4 u/ l( ?! ?6 ~' \
* o4 Q' R7 Z1 o* W2 Y6 _3 z
while(parentBgColor == "transparent") * @0 W3 I' O. \1 F0 M! ~/ f1 O
{
- M& e0 O+ [- H4 ~
' W2 Y- _3 k: o" p+ [8 v 9 q: j5 d$ {' d5 \
if(parentNode.parentNode == null)
! t0 _( k: V1 ^% P! H {, d' F" E5 j; J+ o, ?
isLast=true;0 _2 f y! X- S. @5 P' D
break;
, U/ ], I2 S6 f' f% P) f }
3 `. D7 b8 i8 J8 |4 J7 \, P parentNode=parentNode.parentNode;
g, h9 p5 @$ \0 c/ V* E" p4 N parentBgColor=this.getobjstyle(parentNode,"background-color");
6 | l" }+ S- s6 m L3 ~
9 E+ d; q* N1 R& c3 y' h" V' R V9 K if(parentBgColor != "transparent") 2 O! f2 h8 W6 w. k2 ?9 q5 [) ^
{+ t( Y) U6 F1 T, `2 ^
break;
' G' [' j8 E7 ]$ s }5 m! a; }! }) {* ^( X' c' G
}
% z4 y1 i b4 ~1 d! ^' c/ h' [ if(isLast) / c( W; O) p8 j+ V' n" C
{
% w& h7 o8 s2 ^1 j4 ~% I5 O if(debug)
3 @9 _' q# Q+ A {: L0 h/ _# v' k& R) {8 m
alert("last!!");
( G w3 v9 W$ v( L }
9 B6 p7 K8 H% ~: R8 U if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) c; {4 M% I5 h' p( J {8 H( Q9 [5 i/ B1 y: {. _. h
orgNode.parentNode.removeChild(orgNode);
& ], `. k/ b- Z5 g+ b9 q }6 q0 P- k% y* L. ^, _
}: |2 F2 }- r; w0 L
else4 s+ F) j# i# q" Y& l
{
+ X1 {( B( u! O% [0 \! N* [9 E# x if(debug)* |# {$ Z T; ?3 x7 F* _
{
8 ~+ \. z: _5 K6 @! N' B alert("compare color and parent bgcolor!");
/ f4 S1 _- _9 | }
" u: Z! M( `6 Q$ S8 } parentBgRGB=getRGB(parentBgColor);
1 w- [- f5 q7 Y5 [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ G B! C# s4 }& N" U) J
{
+ n4 s8 b3 f R orgNode.parentNode.removeChild(orgNode);
2 D! ?. \1 V+ V }8 P% i# E7 ?3 [* F2 F! q/ y
}* ^1 ]5 r) n% Q7 `! X( ~
}6 q' A: Y+ |" `" t1 B. x6 B
}
& L5 g3 Z+ a+ J5 Y* u. E1 J }
, i `4 e3 g) J6 T4 ^1 k } b9 u6 ^8 h3 G. R* i \2 m
% N% L% J0 c4 w$ N2 Q1 m+ _4 e
N ^. u6 n. g) N2 R0 ? t! [ var itemFrames = page.getElementsByTagName("frame");
2 q" I" q" r3 H* C var itemiFrames = page.getElementsByTagName("iframe");
3 h1 o8 W, E, K- T3 y9 U / \5 _( Q/ N6 e3 m
var frame, iframe;9 w0 ~5 K3 E8 H3 M: I+ ?5 q1 t" x
if (itemFrames.length > 0)
3 y1 j/ |1 y# ]- O3 R# a } {7 u" q. s7 e. p
for (var i = 0 ; i< itemFrames.length ; i++)
# [3 h5 |1 ]2 n" M+ T2 {4 _; C {
9 q) P' V( \* q9 d0 h* a1 P frame = itemFrames.contentDocument;8 e% J4 f; N# k3 @; |# @ t
this.RemoveHide(frame,objname);
* @( w1 z' ~+ V }9 w- w% x' Q; b* ]2 b
}
0 q1 r+ x5 _" O, c3 P if (itemiFrames.length > 0)' _2 g9 h7 `6 b
{
0 m( w# o+ F/ {6 o; P2 V7 D1 @ for (var i = 0 ; i < itemiFrames.length ; i++) 0 w$ O: z3 e: O( C$ `
{
+ t2 l4 M! i; M/ u3 y8 w# C iframe = itemiFrames.contentDocument;) @# q% y7 i& ?! ~- B9 I0 y, P1 E; t
this.RemoveHide(iframe,objname);
; D7 O3 I9 K6 o3 Q* d# }: P }) A2 V& I, N1 l2 }6 v9 C; n7 R3 m
}- t0 s8 g* I& b, M& r. M
}
. ]1 {/ [6 S2 p' R catch(e)
' w: p' B) l9 l, K1 C2 F {( q- @# i7 g: g+ I
if(debug)
6 _4 o, ]$ L4 v+ [" Y/ z {
1 q1 {+ d" r: }# E alert(e.message);3 w% u5 D1 C2 z; Q
}6 G% g7 b: c+ Y; k5 ^
}. t+ g R b! }( c9 f
}3 U5 Z# B2 h7 _# O3 t
& g" _7 Z( O6 n* H
}
. ~: m% l# n( _6 C# c4 I# ^4 A7 a8 y* J$ k
function getRGB(colorString)
) w& Y) {2 a9 j; T6 X. D# g; y# l{' v/ i' N! w( ]" n
var RGB = new Array;3 M) |5 K& W! w6 o# ^
var tempSting=colorString.substring(4,colorString.length-1);
) _7 r# N/ p; o0 e8 E1 ?. [! m4 |) B var tempArray=tempSting.split(",");9 }& m$ X! r8 }5 F3 Z- D! o7 ~7 N9 I/ u
/ C! }9 D/ F- n/ W4 a$ U RGB[0]=parseInt(tempArray[0]);/ V3 L# O: V4 o" J$ i- s& r8 L
RGB[1]=parseInt(tempArray[1]);7 H! t5 c9 Y9 Z i6 s6 U7 i2 x
RGB[2]=parseInt(tempArray[2]);
2 a( S* [$ V2 G6 l) j1 \ - b* ]9 N% W( E% g+ B9 U6 t$ Q
return RGB;# X3 e; c8 M( I4 Z( g; c9 H1 M1 X
}4 t- Q/ d K8 P$ V. n1 D+ m* E
function keys(evt) ! I* J T8 l R% N0 }3 R
{
; L* @% e) t: R( D% e- x Q if(evt.ctrlKey && evt.keyCode=="81")
9 t u# n' V& L- }3 ] {
. D, q2 O5 T; K% `" G CleanHideObj.on(0,1);
6 r3 j6 k& Y9 A9 k2 J" b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - y' w5 S; l; M
' ?! g8 u. V& v7 k& E8 k
} # E2 P+ J. S3 F" C1 D$ I
}
, [( M, i# H; L/ ~document.addEventListener('keydown', keys, false); 0 o; C0 q1 T- J% J9 l
GM_registerMenuCommand ('Clean Hide',
8 h6 O( s, H1 v' J6 R9 Y! y* Y1 L* Gfunction(e){, C1 `0 @- }* w& V3 }6 q
CleanHideObj.on(0,1)
9 M& ^* J T2 x' J8 b8 b1 _2 @alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& \( y8 L. V) h6 x4 U% o. C, s});
q- a$ [. p( i- g |
评分
-
查看全部评分
|