|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ O, M# h% E7 p' C! m0 ~# c) \5 V: H* r+ u! x& d5 z( X: l
火狐插件,用猴子
0 I7 p, d- F, L$ S H h: u3 T* ]
var debug=false; " g5 _7 N; P8 M7 I
var CleanHideObj=new CleanHideClass();: Z3 G4 j& H% I8 v4 @
1 S" o; z) ?& w# n6 @function CleanHideClass()
4 X/ Q: Z% G4 U$ p, D{
1 A8 K" m& V7 d% U: i
$ J$ h5 q9 m% T this.on=function(id,bMZ)
" r. X. x% Q' F% {! x/ G( K% ? { f4 W1 [* }: {" H( |
0 K- K* C. p( e& j3 t
if(id == 0)4 i k6 c& L0 ?6 C/ ]- J
{
* q8 m3 v [7 L. k5 Z) G2 T5 { w% ?6 { var page=/* document.getElementById("content").contentDocument */document;
H+ V, y! B" w2 W! l2 y9 g# I this.RemoveHide(page,"span");
# {, t4 Z D2 i; } this.RemoveHide(page,"font");. I, ?% g0 U2 V0 e/ P
this.RemoveHide(page,"div");8 S. u7 F6 Q2 @2 u
this.RemoveHide(page,"p");9 d; X, |+ ~ i7 F3 u j, b. e5 Q+ G* w
Y$ a6 l6 q- @$ I' B
}- ^/ y: B$ d" W9 W/ @ V
9 Y( I$ B9 h& N, q$ ]3 M
}
# v' h9 C+ ?1 p' G" _( m$ F+ z# R this.getobjstyle=function(node,prop)
+ R0 ^& _1 e9 r {4 G R# I/ D2 }" E2 ~1 p
try& {8 u- R8 k' w! C+ B
{
" A7 P. |9 v( W9 l" Q7 ? return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, q& ]* S( s. b- E( { Z0 R }
* J$ g4 Z/ ^) Q0 E catch(e)+ h* s" S$ S' t; ? I7 \; c5 J
{! n: O. E% c/ _; K. p% z
if(debug), M& Y6 K6 X4 W( t
{* q. n) \1 O$ B5 T. W' X
alert(e.message);; p" P3 Q c% h) H: `0 O9 G0 F
}9 v: N6 S5 _% T- q0 A
' H, p# p# ]: n9 q return "200";
! T' g! ^# i' f: l8 A/ m, }& ~ }
4 V. a5 E f4 a. {& R }. \- `: ]5 x# r4 ^3 p; L6 W9 h( Y1 ~
) d& x& ^7 C8 P7 i5 ~, j1 A) ] this.RemoveHide=function(page,objname)- e7 @. b; \ m5 b
{
. P/ ^5 N% C& F& o: X! c K try: \6 F: v' ~) l$ z! N3 ^4 w
{1 l+ u& W0 n C8 d7 X9 P
var minValue=15;
: g I9 O6 Y1 _+ J: A% _* `, l var objs=page.getElementsByTagName(objname);
4 x8 n% y' W6 `; ]. @" l& \2 V' V: H. W# ]( m7 Y0 u
if(objs.length == 0) 7 Q. @1 A8 p1 R9 X
{
) P/ |: a6 c; @& o0 N0 |% | if(debug)
0 k' R! Z o6 w, J! L {
; a2 N% {4 q* n5 K7 R# L v alert("no object found!:"+objname);
9 j [" e* n9 o- Q, @ }
2 S( t1 }8 e& L7 Q }
4 A& M/ P5 u- ?. ^ else. s8 I$ h* m' ~6 q4 W1 z
{! ~4 W% Z) c4 V# W1 U5 q
+ l& H2 Q/ K9 l9 z7 R- Z for(var i=objs.length-1;i>=0;i--)
1 H" f0 @8 J' T9 ^0 v) m# P) N {% N! `) G" N) o5 C1 W
var node=objs.item(i);
4 U0 N5 {7 H# l7 U1 s : z" d1 n8 T( P, U
* i, }* Q) X3 j
if(this.getobjstyle(node,"display") == "none" ||$ q8 d7 i0 q8 e
this.getobjstyle(node,"visibility") =="hidden" ||. A+ F$ f* }6 g% X( s: G
parseInt(this.getobjstyle(node,"font-size")) == 0) 4 S/ d. m; h$ r: C
{; |2 y0 g: }/ K& U1 I
if(debug)
! q7 C0 R* j- t2 E! O: p {
7 _0 D& V& ] e5 Q% e9 m alert("remove invisiable!");7 U* ?0 x4 K$ f
}, R4 c- f4 d7 B" a/ o3 k/ E+ f
node.parentNode.removeChild(node);
. l% w0 J% R# \
K% N, X+ L8 T }) k" N# J: l$ m' p) p
else
+ L. Y& p) d5 t/ r {3 ]( T8 B; O( ~
if(node.parentNode)
( T, q) R$ Y/ p. o {3 e) _. }% a1 S4 ^5 t
var orgNode=node;% X( ?. K! X& P
var orgColor=this.getobjstyle(orgNode,"color")
+ Q5 |& b6 r* ?' c# Z3 e var orgRGB=getRGB(orgColor);
1 \; y( W( Y3 o8 ^ 5 o3 K2 G* L% ?& H% W* \4 y$ [
var parentNode=node.parentNode
" K$ W2 p/ H/ v% W# t5 Q var parentBgColor=this.getobjstyle(parentNode,"background-color");- h5 j% T5 y; I* {+ B* w
" J- o x$ l4 a3 V& X! z0 q" R( ^
var isLast=false;
4 i# V- {( q6 O* t# c& X
" ?) ]7 O x5 a% | while(parentBgColor == "transparent")
7 M( G* t9 e" G9 v5 G {
2 N8 m: \" z3 N: P/ A. N
! ^! z. o/ X; n) } F2 ^
7 G$ E2 i8 ?" K; S( {: }2 z2 b if(parentNode.parentNode == null): _& L4 c D( a/ m; j; t) J
{: J% Y* R: V) {7 q
isLast=true;
6 K ]9 A, q1 b/ { break;7 W. @" d: O, E6 F7 B8 w3 H# `
}8 N* f: h7 s+ q+ `3 ?# k6 ] W
parentNode=parentNode.parentNode;2 l" f8 j+ N) P) K4 V5 B h7 p# |% U
parentBgColor=this.getobjstyle(parentNode,"background-color");3 F+ F& n! a, ?2 G' J9 J$ U- d
* x' E1 e* {, b' d; b+ i
if(parentBgColor != "transparent") 3 C8 g* [2 V# g3 Y4 T1 }
{
) n3 L/ F4 E: E$ i) j; n. |- U0 X break;
3 X' d: [' c9 T/ J$ q: i9 e5 { }/ h5 t, h. O9 J- m- u
}9 Z6 K7 |1 o/ Z8 Q
if(isLast)
' F! p6 [/ b( k' o {% y& k* E# S/ J( e3 x/ \. U
if(debug)
+ f) f" [- b7 x! t! f; ~, {5 @ {
( n& G8 h/ S! j M alert("last!!");
. |5 X; _* ]$ w; t' l }( F! a9 {& V) r) r, R2 |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; u4 v: R6 I7 i, j {
9 {1 S/ N' @9 B' S" l8 ~ orgNode.parentNode.removeChild(orgNode); . T% B; \) w$ S& w( e) }6 _3 e
}1 `2 U4 M! }& G! w; A! a
}
+ I2 z: S/ J c( ^7 b: a else8 O, o! Z2 H5 b9 }+ Z, E
{5 @" z- W1 A. {$ ~
if(debug)3 ^2 ?, y9 @) ]5 L7 B+ ~
{
2 |5 {' K/ U& B& |1 A L* X alert("compare color and parent bgcolor!");9 R% H9 i( |% g7 t2 w, f8 F* c
}& i1 z. ~0 x* C# N7 p
parentBgRGB=getRGB(parentBgColor);9 x& P9 k" b" q8 l* ]: a) x
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* c/ W5 t5 u/ |
{
6 I. ]. Y8 i! ~$ s# l, E+ t orgNode.parentNode.removeChild(orgNode); * z+ ~! v ]) s3 V2 A( b
}) u8 b6 f, N+ k' o" @
}8 F) L4 x1 t( X5 d- s
}
& h: p( A0 A4 ?! A- J/ J }! S8 C) Q- X* e9 W
}
/ I: C( e1 K5 g0 d/ i. c }
2 s. g- m! V" i. w8 D / p* f( X- [' j2 R
( c. O" ~+ o6 c& f$ @ var itemFrames = page.getElementsByTagName("frame");: G4 }4 @- x. y0 j4 X8 Z! J* W8 `
var itemiFrames = page.getElementsByTagName("iframe");
" z+ R" j& A( Q# f" m
" I; z% P O9 N& T! s L var frame, iframe;
4 i* s# j8 }( e5 {" s if (itemFrames.length > 0)
5 v9 O- U$ x# w- F( r {. F! Q' B+ `! T
for (var i = 0 ; i< itemFrames.length ; i++)
t; \ u- L+ F2 H" b {: a) v- \5 Z- o1 L
frame = itemFrames.contentDocument;+ \: |: Z% v, _2 v+ h! l
this.RemoveHide(frame,objname);
/ m5 A" c A9 s+ g1 y6 A9 U, g }
) i( G0 K7 M2 W; u }6 B% c% w K' j/ |& ^/ ?( f
if (itemiFrames.length > 0)
" N m$ m" A3 u8 h; D( y( G {' k+ f0 X W) T/ s5 z( a
for (var i = 0 ; i < itemiFrames.length ; i++)
8 {+ J5 M5 Q& I. ]4 Y# Z3 C& k {7 B. X2 b$ B8 o- I& c# j& J
iframe = itemiFrames.contentDocument;3 P. y/ A! w; \! A
this.RemoveHide(iframe,objname);
$ d5 n6 n5 x/ |) x }
) e# l+ v4 m: c4 y. a) H }8 }; m' s" E* B& V0 T
}( S* V" f- ^$ G7 s* I0 [6 z+ O% C6 C6 _
catch(e)
9 m: v3 A; M2 M1 L {0 E/ d: t+ E: |' D/ x
if(debug)
3 l1 u" D: P. O- M0 r. z# j% u {
- K a! \% E5 @2 X) d% m alert(e.message);
4 _# S- h) {; t4 L }
. `% D0 _9 { O0 ?, L& y1 ]) N }
& B" I) r7 `0 l; O: x }( ]* U; Y% T5 }+ `9 y
: X( I& Z. u8 w1 `& k) M}5 p! x$ B3 F+ U' K+ e8 q
( Y$ R* J) D" `4 n$ k* u' f
function getRGB(colorString)
6 Q' X/ p9 S& A! P$ D! G{
4 z/ ^& P, U/ w8 v2 W( |2 t var RGB = new Array;0 Y* ]9 p& w( Q5 _* @
var tempSting=colorString.substring(4,colorString.length-1);
; f; P1 c: x: j6 W$ ] var tempArray=tempSting.split(",");3 O% n; y# K9 t" K" J% J+ n) |
) r5 C; P5 _' _* Q" Q RGB[0]=parseInt(tempArray[0]);* U3 M8 @" c8 k5 p
RGB[1]=parseInt(tempArray[1]);/ _% J4 m* C" l& N* R3 h
RGB[2]=parseInt(tempArray[2]);
7 \; z& f, z! V4 s# r! J
" {7 `- t4 L/ T- ? N6 s8 s return RGB;( c7 c! r8 K/ |! D( k: Q
}
( k4 q! H) _$ [3 N7 ?/ j- l2 F; w4 I1 [function keys(evt) 7 r7 v& x" `% _2 `! ^% N
{ $ f/ y! j, M: d2 d
if(evt.ctrlKey && evt.keyCode=="81") 5 E! q) v# o) m! E0 Q; z4 _& R" v
{ i, n, k( r h# D$ Q
CleanHideObj.on(0,1);* i/ X3 M) h! o: z/ I+ d0 P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * M T/ N1 p6 k) ~; t
6 B n8 j$ `/ W. c1 R) { }
$ b1 S3 O6 s& h" H8 X+ N; r+ ?" k } 9 t( W4 h/ ~' b; i; ~
document.addEventListener('keydown', keys, false);
; c% h1 f6 t+ s& z: J0 m4 F) |$ PGM_registerMenuCommand ('Clean Hide',
, X, }* m0 M& b% Kfunction(e){7 R: c' j" |* {
CleanHideObj.on(0,1)+ e5 w. c1 r' M4 S3 I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
H' l; H' t+ {6 W/ f1 |});
& J- k! W9 Q1 ^$ x0 b1 ?8 v1 N" o |
评分
-
查看全部评分
|