|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " A! u1 ]$ q/ ?4 x6 n+ Y1 B
2 R( ^- l3 C* S" f0 h- `
火狐插件,用猴子$ q. d3 d5 h; o; p
) f- h- |( A8 V2 a5 G, Rvar debug=false; & q B# ]) s) `( i
var CleanHideObj=new CleanHideClass();
9 s7 L+ q( p( n9 I {; T2 p3 G/ r& u' M' X7 t; f5 Y
function CleanHideClass()
$ q% W: _3 A9 f* I0 T& G{
# W8 I; N* a4 ]) z8 |8 a( t 9 l+ b1 j# }. S5 m
this.on=function(id,bMZ)' N5 B, m2 ?4 w2 q: U9 X
{: ?% N0 E) K& T6 G$ x
: ?* {* u3 ]. v# L4 N
if(id == 0)0 t, e6 k5 t3 Z9 u v3 n' a |
{
7 r6 n4 F6 h! O& \( y; k var page=/* document.getElementById("content").contentDocument */document;
v3 C6 U% t: v$ ?! U$ s: G8 o this.RemoveHide(page,"span");
0 E' Q9 b( o" U, q this.RemoveHide(page,"font");6 G9 b) {! N% P2 r( ~; I
this.RemoveHide(page,"div");2 J6 n) z( ~: V" J
this.RemoveHide(page,"p");3 i7 C" d) y5 r3 S+ q, `( x) n
: `8 K6 x$ ?1 S7 e& S! z }. w9 n- e4 B, j
9 o, V9 X& t* J0 x }4 `2 E6 O2 I0 t4 R
this.getobjstyle=function(node,prop)
8 R* G& M* d. j# c0 ?1 y {9 U, D5 r9 @" @, u$ { {$ q
try( ^# e" _: h5 [2 A. p
{
6 q1 C% s! u' r4 K return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. f) ?( G0 P2 A }, k$ _1 M& ?0 i( P/ N
catch(e)
7 W1 W3 K' u! B* X2 u: A {! P& g2 E+ \* {$ F7 v9 L% R. R: C( u3 }. s
if(debug)
* b- P/ W, x+ O) ?2 t' R0 J; } {, J# f" a4 ]" K8 a) `+ g. k3 K
alert(e.message);8 F Y( p5 u3 p; E6 F1 M. ]+ R) K
}
4 `* Y; p8 t5 ^3 S3 L ]- A; `2 i5 T; i5 j# h4 ?& Y
return "200";
% Q. c) Y S! D: p0 F# K' J }' M8 Q0 L) Z! j/ V7 ?
}" ?( x, B' b! @, s% e; E5 j5 l
3 I. L: D# F V$ \ m6 O
this.RemoveHide=function(page,objname)& h# w( B8 l# {, @
{
" u9 i d, z" ?% R& h; u2 q try
) E1 {4 D5 @1 H" {% K1 ~ {
7 }4 l- C$ k/ v% t/ Y var minValue=15;
( K7 N0 J6 S9 y1 g) b. t& c1 q! L* J9 b var objs=page.getElementsByTagName(objname);
A8 v/ ^. \7 ^ ^1 z& C
2 P- P+ R/ M: V3 m9 E/ E if(objs.length == 0) ; Q& Z' t, D3 u+ y$ s0 y
{
* y$ i0 i, E4 B. _* A7 n( N if(debug)
2 y* p3 ^; m7 d6 S% p* S' m: s {( E# D5 |* T' l& i
alert("no object found!:"+objname);
& N. k( g. R8 _0 O* V6 n5 [2 Z4 ` }
2 ]3 h+ t* D1 Q" i0 X9 T }
) O; r! N$ b5 e else
% A, ]" b. R# ]8 d7 R {. L# ]* k; r; H3 A
3 i4 [9 j$ x( g8 s) U for(var i=objs.length-1;i>=0;i--)
- W8 Y4 y2 N' p+ L1 c4 \ {
, r4 X/ P, @" _: c/ l9 f! s- n var node=objs.item(i); 8 s. L0 z% f5 O4 Z6 {
, M6 f' K t8 t# P
% \2 p D I/ Z" W if(this.getobjstyle(node,"display") == "none" ||
$ _" \% O ?3 W( I; \9 I this.getobjstyle(node,"visibility") =="hidden" ||
, a/ M' G8 j/ e; | parseInt(this.getobjstyle(node,"font-size")) == 0)
$ x5 A5 U+ j1 x: a4 K {7 L- P& i+ X( A/ C4 C6 w
if(debug)5 n5 ?; F' [) w# n
{ F* b% y- v @0 O% A* E: l8 z/ M
alert("remove invisiable!");
- b# x0 N' N% b# Z$ W$ {2 i }- C2 K$ F4 \3 |
node.parentNode.removeChild(node);; b8 Y; H1 ^% ^# }0 m- j* }% f
0 Z( G5 c. n; M1 g L: X
}# A# ?$ P# h+ u% M6 _, f8 w
else
+ m3 I: C a: b0 W7 x9 D. p {4 ]# L4 @) L: x
if(node.parentNode) . I2 h( S% x1 A( I/ P9 E: @
{0 w6 Q0 m3 F+ P8 n- u4 I; ~5 l
var orgNode=node;6 m5 x/ @/ `& x( Z$ ]/ E9 q0 q
var orgColor=this.getobjstyle(orgNode,"color")/ [5 x( J# e7 ?" ]' z
var orgRGB=getRGB(orgColor);
+ R1 v. `1 h7 ~ I& L. K5 P $ n# A. S8 @% S1 e5 C
var parentNode=node.parentNode
2 b ^4 t/ K$ J" F var parentBgColor=this.getobjstyle(parentNode,"background-color");9 o3 z! V! v; Z7 C& F. O" b
$ l1 j& Z( G$ ^% D* U. [: i
var isLast=false;( Q; |: M6 P1 R; d1 e# ]
/ Q" G/ M% h( f0 [4 w- p G! x7 W while(parentBgColor == "transparent")
3 R+ ?4 w: m6 B# P d2 T, y* ? {
) y6 ]& O* }6 R( M& Z" d5 J ! b- l& \+ ?( J6 f$ f4 A! f' R9 ~
& @* C" ?' l' {$ g4 x: a if(parentNode.parentNode == null)
9 T' C; {( Q" V6 Z. v/ o( @* [- W7 g f {- l# u. X8 t6 T) [* ~0 b
isLast=true;
" E' ?% S! W" }0 T8 E* E( m& g. X. J5 V break;
( t# l1 z; m7 m U$ ^ }4 W( p# {2 y6 ^9 Z' H# Z5 Y
parentNode=parentNode.parentNode;% p) x! d, r" H) t' Q( B- T
parentBgColor=this.getobjstyle(parentNode,"background-color"); j( a @* z9 b( @/ c
8 ]5 E* p5 ]- d C) i% f$ z# R if(parentBgColor != "transparent") ) e7 d/ u9 ^; Y8 w" @% m4 r
{ X6 ^3 E# \& y
break;
5 n7 ?/ c" S. u* _' v' X/ C }" i( Z! l8 t" ^( l# A
}0 c8 j5 g' z, U2 H( p7 E! Z( P. O' O; v
if(isLast) 0 A$ A- p* K( c9 k, _
{
! s* u" w; n0 @% ^; E7 _ if(debug)
0 y/ n/ S0 |9 m/ g {+ f" F) g! r' y/ b" t% D
alert("last!!");
% f; {+ A' A# k5 @) v+ \3 k }
8 S# m* w( n: j3 N! g# |! D8 t if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* ]& b% K1 B4 X9 g {
7 a3 G/ v0 h9 l( o' u& Q orgNode.parentNode.removeChild(orgNode); ! B& @$ s6 V# n
}
9 o6 N* @% J2 @, J' m; _. Z( U }/ V& }* F; K2 ~
else
7 M6 Q- y# f6 _# c0 T8 N% _ {+ \: N9 j# O! F+ `7 q% u
if(debug)
; t v( p7 L; _$ h% ?! X {
0 ^1 D. B" P: _" f alert("compare color and parent bgcolor!");
; [8 l9 y" a4 b% I }' |. [% y" m8 J: g5 c9 `* y
parentBgRGB=getRGB(parentBgColor);: I7 x) R# k$ M9 D8 h
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 W5 a4 n% D3 q+ s3 q1 h" l
{7 d4 t$ g# t1 S: `
orgNode.parentNode.removeChild(orgNode); & V+ K5 v2 q4 R! K9 J1 \0 ~
}
& q6 B. d' ?9 T; p: M+ y }
. {& d9 ?+ f! X/ K& B' x }
1 a6 L S. m/ _$ K% g% G( a' P6 u }. |* u9 T( w$ I1 W
}
" O' q% p: z+ w L }" X/ n7 D+ X# p6 L4 g
2 G4 d, s" t% T; P
( \; {, x9 i9 B# Y+ b- Q% m var itemFrames = page.getElementsByTagName("frame");/ `- D% l& ~- V! J
var itemiFrames = page.getElementsByTagName("iframe");
% @" M0 a9 u/ v V* |% K' r
: L% k: U" {* S& l! r var frame, iframe;
) L$ X% t7 t& ^# M. ~& T7 ~( g if (itemFrames.length > 0)
, W( _5 `2 u B {
9 |2 K- p( c# D! }) B( r7 y; { for (var i = 0 ; i< itemFrames.length ; i++)
# ^; W' K' z9 X: [# N {
' ^+ i* c* h3 H# `7 J) {8 L frame = itemFrames.contentDocument;; y0 q5 y5 i U' Z; r4 O
this.RemoveHide(frame,objname); % P# a9 s. x2 @
}5 Z* T; ^# z7 Y( V( p/ g
}
! |5 h0 P6 B; D. } if (itemiFrames.length > 0), u, c& m T1 T
{: M: B2 r6 e6 s
for (var i = 0 ; i < itemiFrames.length ; i++)
5 t! R$ t8 f9 y# x+ }3 u7 U {
0 O( ?; I' D) L3 r& m iframe = itemiFrames.contentDocument;
5 m5 C% B: K. ^, a' t; F1 D' r# r this.RemoveHide(iframe,objname);
4 Q+ M/ X+ F( e4 a1 c. }. G }
) u8 R( Y- P, g- c5 u& @ }
# z+ v3 ^2 n& k+ o5 I A }: | F2 s5 G y9 O/ C3 r
catch(e)3 F! O8 c3 U! ]+ o( a3 V
{8 P) h7 J0 }0 l q5 e0 ~. j
if(debug)
0 J; q$ [% |, }- B( n3 n {
7 b+ j8 Q! A3 i! n alert(e.message);
& Z/ w: d/ P6 t, R+ d! y }! v4 U0 t* H" K4 X% w8 { M+ A3 t' h7 H
}
. e9 {4 p3 O2 x0 }6 t8 x/ D" U3 G }
Z; }6 x8 \0 `2 Q: _ e
) @' v0 H+ x+ Q: b9 X* T}
0 W6 f |9 @/ Q/ F5 ^+ D+ z2 X8 G2 q- U2 R9 ?+ S
function getRGB(colorString)
# g. L I* G7 g0 _{' L5 S' ^4 b, F
var RGB = new Array;$ N {3 V4 ?5 K0 Z
var tempSting=colorString.substring(4,colorString.length-1);9 l. T1 a" x O% [' |
var tempArray=tempSting.split(",");
7 P9 g! d! K) r6 q* z% z6 t# R j8 O6 E9 Q0 e, U, O8 T. o
RGB[0]=parseInt(tempArray[0]);
# a2 ^ E0 `7 K* D0 E# U3 A RGB[1]=parseInt(tempArray[1]);
) P- N1 J# G4 f RGB[2]=parseInt(tempArray[2]);
1 W# e5 ?* `' o- \; {8 f
! ] K+ R6 N, A5 A return RGB;
; t$ G+ w+ D7 m. q# t4 ]$ S6 j}
2 u8 d6 j2 H* k5 [3 Z a* E5 T# Nfunction keys(evt)
8 L( P0 Y& x# l2 k { / g" [. {0 Z- o; [, V+ K9 a% i
if(evt.ctrlKey && evt.keyCode=="81") ' |: D/ \& u3 _9 l5 l) g, x( E$ M2 T
{
# `# R7 X. \2 U/ Q CleanHideObj.on(0,1);2 m/ @4 u% E8 O4 t# j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 n" g- F+ ^/ {+ R% h+ Y( E3 P8 q
F( r" w; m& \- z8 H: R }
5 C9 z! P$ k. V* g8 C }
: e5 Y! ` h. s/ ~ Fdocument.addEventListener('keydown', keys, false);
: A" c1 B5 N& ~/ T! }$ S& zGM_registerMenuCommand ('Clean Hide',
5 S/ |3 }2 X5 w h" pfunction(e){: ^( L$ K4 T' s7 g' E
CleanHideObj.on(0,1)3 _! b, e! P5 ~! e" m
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 F, c9 U" d- A7 `: T, v4 W}); n" S# k0 N- u; U7 X! x$ O9 O- n
|
评分
-
查看全部评分
|