|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 K5 K n3 z% T5 E& a
" B# ^1 [# ~% q5 r O! X2 ~6 p火狐插件,用猴子
4 r7 C/ d) ^7 s
. v9 V5 g- `" G' C7 Qvar debug=false;
4 Y# |& J! f; A: q+ r6 b) Ovar CleanHideObj=new CleanHideClass();& I! s5 c( K( @0 X
$ F+ ^ v: S' ~% I2 N) J' s0 `" h4 `# Sfunction CleanHideClass()
' z0 y8 \7 x2 {$ u{ / y8 z" `5 U* x* {0 P8 d7 m
0 V7 Q0 `, h& f* N' U+ Y! A
this.on=function(id,bMZ)
$ i1 A# W' B& `* c5 L {
/ P2 a C. \( T: E( P
! q0 k+ n- E; A% O( x/ e if(id == 0)
( K( m3 [- \3 Z5 d9 P0 U4 w {
* D/ t% K1 n6 V8 m% v v! | var page=/* document.getElementById("content").contentDocument */document; ' ?. H0 ] w+ ?& S! |: x9 V
this.RemoveHide(page,"span");8 x3 i; D2 o" b3 L% z1 [
this.RemoveHide(page,"font");5 M: `5 G. \8 Q, \8 a+ h1 Q" F
this.RemoveHide(page,"div");4 v d, g4 f h
this.RemoveHide(page,"p");
) |/ l3 g# \" @$ d/ I1 {' z ! f P1 Y- `% p) s# e
}) v. L+ b8 K; a' m- A$ g9 V" k
7 l4 A+ T' a5 T; E8 T$ [( @
}; U2 @% ?1 j s) ^+ G, p
this.getobjstyle=function(node,prop)
) H/ H$ f" b9 s5 E {& {# H. w0 X% A( k7 c
try
2 C5 i$ [( x% C# N* z. g% }" X {, ?+ O) g6 H+ l% [% h( U
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 H1 G. X7 D9 U. `! b
}9 z$ f( m+ k+ Q
catch(e)
* {" s3 y. e; v8 p$ l {, f0 d% b: a$ I- E9 P% L- x+ }
if(debug)$ g5 l3 \; n9 c; a( G' Y
{" ]* y( ?2 p* ~7 [1 u9 t8 s
alert(e.message);5 P+ T# d" z$ e# `# e
}
+ Y" X* n) ~8 _% \. c
. e5 z, I, G7 ~ return "200";# O& H$ K4 ]2 h0 I% U0 y3 e! _
}
# I! R. s. _( e% A O5 G! ? }
$ U( P ?! [& ?5 `; j0 ^
, C: o# Y( L1 J this.RemoveHide=function(page,objname)
& G& g5 X( n L: l {
) w- F) ~$ x! c. f/ H try( C1 f) L: ?7 q, [7 n# B% i$ H! a& D
{
0 w$ Q2 `; z" ?! U9 v var minValue=15;
( t& n0 R6 T9 B) [" X6 ?6 y var objs=page.getElementsByTagName(objname); ' c4 W. N1 ?( M3 i' I
e+ A; H: |, s6 M. x0 N if(objs.length == 0) + b/ X& {3 g9 S5 p6 j
{" A( x4 I2 }; z4 E
if(debug)
\1 D1 M z+ N4 L/ N {
- j2 J8 n6 f0 w+ Y7 l0 r alert("no object found!:"+objname);
& X6 Z( H% Q5 K# X }
, K; ?5 q4 M! a' J1 D }2 v3 z0 S8 n b/ W- H
else
8 k3 l8 V B8 q- _* ~ {
0 l4 }3 F5 G4 Q! |, o
: u# P7 r1 _6 o; Y, [* N: K2 j4 u for(var i=objs.length-1;i>=0;i--) $ l! a4 ?: n0 r/ }
{3 O& n9 Z9 w& R9 }# t
var node=objs.item(i); + l& j) g6 \; |: ~4 n
, M# h( I& t+ G8 [& k( p
& x3 s: _& ~9 u2 v1 [ if(this.getobjstyle(node,"display") == "none" ||: E' a$ \4 L& Y* @3 @: n m% j
this.getobjstyle(node,"visibility") =="hidden" ||
* j" b1 r/ Y8 c5 f5 D" b parseInt(this.getobjstyle(node,"font-size")) == 0) 3 R" B4 h5 J) g
{2 j$ J+ l1 N) C# L
if(debug)+ f/ D5 r% l- r6 I l2 Q
{
& m W9 t- x! C: S6 @, l alert("remove invisiable!");5 Y8 w3 U2 f9 ]" `0 \) \9 Y) r u$ ~3 \6 {
}
}3 Y0 J! k% u# [ node.parentNode.removeChild(node);# \' V; F. `4 B2 ~2 r* ~
; r1 a1 C. w7 j' P: |$ H2 c }
" H+ t) D W7 @3 q# Y2 ` else
3 h3 g9 v: I5 `# P' N e {. t$ B2 {8 P0 i3 J7 U
if(node.parentNode)
, B) u9 | W( S- i8 [- U, ?* u: a! g) d {
1 Q, p( n& e& Q$ R5 }" Z f9 B var orgNode=node;
, P# d- P s2 q8 H6 r9 Q var orgColor=this.getobjstyle(orgNode,"color")
( i5 z3 `' d& j" Z7 I var orgRGB=getRGB(orgColor); % g& w" O1 l3 r s7 D
! m6 [- B- z8 n' I
var parentNode=node.parentNode2 ^+ Z8 A6 V% U, |# T4 p' T% t
var parentBgColor=this.getobjstyle(parentNode,"background-color");& ^7 d. Q5 ?+ i6 O6 Q
2 W/ u7 X) X. ^" ~
var isLast=false;
2 S, f2 P2 S# K, F8 f - M# j& L6 d% U3 r1 ]4 ~
while(parentBgColor == "transparent")
; |4 b V- g4 {. X6 g- A {
" ^! y) B/ A! ~4 d2 c+ y 1 S6 a- F- F2 j
5 R: q& e9 X6 |$ o3 ` if(parentNode.parentNode == null)
7 m! [* L1 |+ j. N0 ?0 p' ~ {. l( W" P) _1 X/ `
isLast=true;' c1 Z$ c" r/ m( O9 M, T7 q" k
break;
" H; V' Z5 |$ k5 C9 q) U" m }; u6 G! A' A* U! ^/ S# M
parentNode=parentNode.parentNode;$ j Y& T" X" m+ B1 }* P/ ~
parentBgColor=this.getobjstyle(parentNode,"background-color");4 a# `9 X3 F3 L5 N( w
8 q! J% A; X# v if(parentBgColor != "transparent")
; q* J& J' w w {
9 E" ^- i# a, }% h break;" K& h# e& {, R, f# U" N8 o
}+ f# X& S. f$ a# T8 G# P* @' b
}
: `7 p* s; E9 l if(isLast) ! L, N2 s/ H( t5 v& b5 [4 {7 f
{
, q/ J' e1 a+ x! L- b2 Q if(debug)& }; \9 x8 g- b, o: F
{
! `2 \: q. R3 A8 V2 R; }! S alert("last!!");+ ^2 C& k- ]! ?
}) x T% n+ {9 i& o( w# Z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 V2 M- E+ _3 Z/ ]) g/ a& k* P* a
{
- K/ n- S: _- m; g orgNode.parentNode.removeChild(orgNode); - u; l1 W9 h, H% h8 Z; C
}
. I& c* [# I6 H; g }( a% L- n1 B b/ V: O5 M6 Q5 E( Z
else
1 V9 S: h- `- ^! t+ g0 `9 l7 t {
3 O- _4 ~( o/ L I" K: W- o% f if(debug)
7 |+ R" P* U0 q+ g6 c2 D; o {: Z" M* J9 `4 O* v
alert("compare color and parent bgcolor!");
4 d" G j# N/ u7 D, N6 v% \ }
4 ?* r. X6 k- z5 \; [ parentBgRGB=getRGB(parentBgColor);) I2 Q, e+ R+ ~8 I
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
i8 C8 U8 z7 u2 A, l5 k. m {
9 Z& C" C! F# }% i orgNode.parentNode.removeChild(orgNode);
6 ]5 F% T8 z% V6 ?* B }1 _- f* p( Y: p- W* i! W
}
1 S( \3 D9 |; d, ?$ @ }# ]$ s, c6 L' @7 x
}/ m, g& l/ d! W! A* _% [3 f
}
1 R2 u$ O* ~0 e }
8 R) A2 u, [" k6 C5 y
2 X, K7 M S( d 1 r) T/ T1 C% S6 }5 S- e4 y/ w* k- o
var itemFrames = page.getElementsByTagName("frame");
, \8 S+ y9 c6 R& H6 Q9 m: d+ f( r var itemiFrames = page.getElementsByTagName("iframe");
e. {' _; T2 ]* N: a4 n; O8 a5 |
2 p$ }" p9 L r) _: o var frame, iframe;& @2 a8 ~% V. k5 B' J+ q
if (itemFrames.length > 0); _; J4 ], \+ R% _
{
$ V5 Z/ Y& W+ h+ R# c9 C4 B0 V/ z for (var i = 0 ; i< itemFrames.length ; i++) 1 y8 S1 F5 L0 m: y# E6 E
{
* U* p6 J2 D; o) ~0 q% h6 b8 J frame = itemFrames.contentDocument;; N& E6 f" T# X
this.RemoveHide(frame,objname); 6 G( G G7 G2 S
}7 B9 R9 L* b2 R: a: k4 t3 @0 }! Q
}0 q: O* O2 Y. \" o+ b7 ?: l, {; U
if (itemiFrames.length > 0)
) U1 R6 Z r8 ]# `3 D1 A; l {: L5 E0 y& `) a6 |+ l4 Y& J
for (var i = 0 ; i < itemiFrames.length ; i++) ! E) N: x0 e1 U7 _+ h% O2 v, a3 j5 C
{
7 o) G1 a( I2 t/ T9 s; [ iframe = itemiFrames.contentDocument;
' ]8 ~, S0 N3 U' w' N; M% u5 h this.RemoveHide(iframe,objname); 9 e: f2 G0 j6 `; Y- w% K3 _
}4 H! n3 s# h: c) G" S6 Y. `" {
}
7 V6 ]9 ~: c, _2 V& C }, y. M7 ~. e, S' ^
catch(e)
( R" Z8 J; Z+ e3 J0 ]6 W7 [ {+ |* M3 i/ M4 w) n8 j8 C, F
if(debug), c+ r8 o9 e$ f, o% u
{
- ]+ Z' `& q: F2 }. X alert(e.message);: K4 `" J% k/ G Q2 J
}
, C8 M% X2 o2 _2 C! e6 j1 O H$ G } F. @6 x/ t! Y
}
9 R+ ?0 ~2 f, \5 C! d% h0 h' d & a4 H3 q& K1 K( Y$ e* S2 q
}6 I9 X) H9 R/ o1 v$ K( m7 O
v" |" h" t* n9 Y+ ffunction getRGB(colorString)
: T& |; }* j) e' I( B7 n# B6 a, e{0 D, _" ?; I7 {" J6 P
var RGB = new Array;2 g1 D. F+ y/ o2 |7 A/ W
var tempSting=colorString.substring(4,colorString.length-1);
6 n9 x [6 Q# l8 ~0 R" c var tempArray=tempSting.split(",");
+ y+ W( J2 V( m9 X; L. C- u/ p4 u) U& ?' E, H
RGB[0]=parseInt(tempArray[0]);
9 a1 x/ f V5 ^; I. ^5 @ RGB[1]=parseInt(tempArray[1]);
. Y4 A+ {- ^$ n" F- w8 U RGB[2]=parseInt(tempArray[2]);4 ]' O: m4 P: v! t
V% D0 |! r0 o6 V: Y+ @. u return RGB;
0 c( n0 P: n4 m% [, m}. z6 P3 C P% H+ Q" S! R% p. U* h
function keys(evt)
9 B5 D) E. ]7 i {
3 F( z: _9 y# T4 ~6 d* |: |6 N3 L N if(evt.ctrlKey && evt.keyCode=="81")
' x6 g* p# G+ [0 e& d) ?# R' s- T { 0 {/ u' i2 T- x0 R& }$ _
CleanHideObj.on(0,1);$ v! M& e4 l6 g1 M- Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 F6 b1 W# ]+ I t0 }+ `; Y
/ L: U% \, E9 q+ i; y4 `: l+ s
} . M6 a# Y6 }- S" {
} ! A9 {2 G1 t$ T% F# J" U1 {2 ^
document.addEventListener('keydown', keys, false); 9 ]' o0 ~) A6 N6 {! A; K7 U7 N
GM_registerMenuCommand ('Clean Hide',1 V2 V( ]* d7 n; D
function(e){- ^9 F* E% h% }
CleanHideObj.on(0,1)
% z9 n1 e- X9 M) ]1 t# ?% f1 v. ?! B; Jalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 M8 Y$ n; H4 g' o& l! {
});
0 o3 m. F0 `8 `! ? |
评分
-
查看全部评分
|