|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( \+ q3 i6 l" c( ^( Z: L+ M7 w. v/ X5 z/ Y3 k/ i! h
火狐插件,用猴子/ C- p8 C# l! f4 I1 n
' k- s. |" p1 w
var debug=false; : ]7 N: y# ~# p" {) X! ~# P/ c
var CleanHideObj=new CleanHideClass();$ N" n+ E {- p& u6 R
/ T0 U* \- _9 C) _& }! m2 x
function CleanHideClass() R8 \! a. r2 e& Q
{ : X; @# `" }, N
. m! j, i9 {& }: _! P# o1 x) [
this.on=function(id,bMZ)+ F0 m8 q# H' \+ }: R, a, {8 f
{3 {* K8 T& O4 W
4 b8 R) u4 B2 E
if(id == 0)+ F) c. j( E6 X. y/ }; m$ p8 a y
{
. c" `. T4 }# S5 r: Q var page=/* document.getElementById("content").contentDocument */document;
& N8 ?- g4 S. _3 o this.RemoveHide(page,"span");" `) }3 j, A' F
this.RemoveHide(page,"font");
& \ p" j( X" Q# g6 f z0 E this.RemoveHide(page,"div");0 c/ o" N& K/ @# ]+ B8 @
this.RemoveHide(page,"p");4 E5 s) _% g" [- d' l' ?/ L
. W5 j" ^( j% J- X }: p+ \, Y p3 a# [) e4 t1 b
* h9 z2 `1 j# l' u, o6 U% _
}7 {$ c* W: T V( z- n
this.getobjstyle=function(node,prop)
( n: |/ \7 G+ L( N4 H# z- f( G {
* y0 v+ p: J3 I- c" ^ try
( l( N% g9 Q/ D0 W7 ` {
# x$ l; @( N) R9 S3 M6 z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' `( {5 k4 y" w" ?$ N' }8 B
}* q0 o2 e. M- N0 P8 |
catch(e)
- [4 ~* z$ j( ^ {
5 L5 W' F0 V3 Q. y0 u if(debug)0 u4 s4 z; U, \
{9 o" j( ^/ Q; v7 j9 r6 ]
alert(e.message);
# g2 x( h& A1 t& r$ |" _ o }" `* V- m) `7 l& d' I8 x7 A
, `' ^. O+ d3 e4 e* v
return "200";
& n9 c8 |$ W+ u+ R* s3 Z }
7 D7 ^; W5 P; e f* U l5 O }
9 ]$ ^2 b. L! R. Q) B
: V# A9 O+ i1 t7 _/ K- \5 } this.RemoveHide=function(page,objname)
0 y; h# Q M8 C) c& l {4 K7 j" j$ X4 v$ T2 T
try4 u0 T4 g# K {8 c8 J; }* s2 J
{7 E9 U3 I4 h% I! d' x4 Y+ I% v
var minValue=15;
9 u$ B g$ U7 Q$ D" C' d var objs=page.getElementsByTagName(objname); / W# o5 N1 B0 G; S2 I2 t
) b/ y0 X* a9 n1 P E# I# }4 e8 c* w
if(objs.length == 0)
1 q s' m3 S# ~4 Z6 W0 N, o. y7 Y {& M6 i& `3 @' p7 p/ U1 @0 A+ n7 K; v' c
if(debug)7 f* a# S( e$ w, @, u+ w. Q$ G# s. c
{, o3 O3 i9 B& X% z
alert("no object found!:"+objname);
6 S5 ?+ q$ H( T' o" |0 E }
: q9 P+ S# C& g+ H6 E. v: V( J0 \4 y }
& S6 L9 b, }: G2 ?' z' R else
7 ]1 [& z" y) t" {2 H; B( ` { ]1 u$ X) G" q# J9 m9 q. B
& r- P. _$ u8 s$ h) D for(var i=objs.length-1;i>=0;i--) # s9 p6 [( V& O+ \# E( w* d
{
5 {& \2 L O, ^# J$ Z var node=objs.item(i); ' E# ]& v* `' ?$ w3 O6 P! g7 ~& X I
/ T& @7 z, j) V
( K7 ?+ }$ p: o( U5 N if(this.getobjstyle(node,"display") == "none" ||
& c2 g7 [# j4 a this.getobjstyle(node,"visibility") =="hidden" ||
+ K% R% H& x& m0 A/ S0 W parseInt(this.getobjstyle(node,"font-size")) == 0)
6 z1 e8 ]4 P1 L a q$ n, x {
* n4 }5 q3 p5 Z* |) u if(debug)5 w$ d9 T) ^. A
{
; e, u8 T7 ]5 D* c2 d alert("remove invisiable!"); A% }. ]# p& h& c$ l/ \
}$ R7 E/ S; @9 ~2 [9 j- X+ v
node.parentNode.removeChild(node);
% F" I. ^+ C' m7 u
2 U0 k- ?+ C& F }
. V' \; ~; B, e4 T7 v* V/ Q7 J" p' T else
W; c w: @7 ?# |" @- B {2 l2 O& q# X/ S- H& w
if(node.parentNode) 1 w, D7 K2 m1 t( Z+ I# J) y8 c
{ `8 O5 H$ d' n, ^& H
var orgNode=node;7 _( n+ u" \% h$ ~7 _5 d9 v- i
var orgColor=this.getobjstyle(orgNode,"color")" X$ Q0 G9 I- ]2 L3 E
var orgRGB=getRGB(orgColor); 1 V9 v. x" w# N5 S. S8 r- ]* `8 L
# o* h( k( ^) g- ~: C" L9 v+ z6 { var parentNode=node.parentNode2 e9 ]/ K) ?/ d0 S
var parentBgColor=this.getobjstyle(parentNode,"background-color");
) I! \. n/ P. X* j+ A" ~
% |- w5 Z8 O: h2 c; E7 i* ?8 N var isLast=false;
1 z- m, J$ ^3 Y s( D+ B
# y$ S" |7 C' {- B: o while(parentBgColor == "transparent")
8 z* N' Y3 T0 z' n* ] {+ p, m% Q. O0 Z: M7 [# f& a4 k
) `$ a9 f! ?4 v$ J: w+ Q3 z. z ' @6 g1 a3 c2 @3 G9 ] D- l/ z
if(parentNode.parentNode == null)) _& @" H6 B A% b5 ~6 B. ]% d
{6 l+ z& `0 ]" M( N# L. e! P
isLast=true;
! o1 R2 v: Z4 S- c# g/ D/ E break;
4 m# [/ R6 h# Z" a' w }
0 c: |. Z7 t" W% S1 f2 L% c3 f parentNode=parentNode.parentNode;) I" t1 U6 w" ~5 z% s0 Y
parentBgColor=this.getobjstyle(parentNode,"background-color");! m5 ^. G: e- x
, s1 n( [* M( d: { if(parentBgColor != "transparent")
( P9 c! B6 |3 W2 d+ P' _5 Y0 y7 g {) k/ G$ ?. X" w( H, {
break;
* k6 M' g* _! j" o6 X) G1 e }
1 h# C: C* D/ B4 f, G }
6 F% B3 [- t }0 b% `9 Y6 [8 x if(isLast)
# I, l- z, c% L) ?6 d {+ Q$ |% Q2 @& q/ b5 C2 X" ]9 v$ f
if(debug)& V Z3 J# ^/ |
{9 ]; r0 c# H/ ?5 r+ D3 B
alert("last!!");& x' [! c; i2 h) D- n8 P
}/ p- d x6 D7 t0 |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' O1 a& P# y) r3 r# O8 _ m- M9 ] {
2 }! x: x2 x+ S/ Z6 E3 W orgNode.parentNode.removeChild(orgNode);
& M* e) x) v# `# a$ Z; e }0 U8 ?" Z. P9 u+ S m7 B1 ~
}& i8 h8 G9 F3 {4 O2 L" H
else4 G* g b; c+ ^0 U
{
2 q% n6 k1 N4 Y; N; K4 f( @& G if(debug)- c' K- k# T- t( Z- v- O
{
# P- Z$ [3 e( f; p2 F alert("compare color and parent bgcolor!");- V3 D5 }" D7 ?- [; Z! V5 B
}
$ i. o: w/ }) Y. [ parentBgRGB=getRGB(parentBgColor);* W/ o; R5 K' b4 _% k/ b
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 c+ p- N& W5 y: z3 |2 y
{1 v% a9 V+ G8 z w2 T7 M, N
orgNode.parentNode.removeChild(orgNode);
+ [, C. ~8 i4 P' l. J } J: h! S1 ]' Y# B9 _
}
, ^# a2 F0 g. p# [( t }
' e3 \$ J- _+ K. J D$ T/ [) R }" S# T, s8 h1 s6 @9 W8 M
}) S& T0 W8 P% ~. k+ T- [) ~
}0 w' y: y5 g: b
. z4 K7 Q, I S" Y: }
# H/ M! C% B' h/ C var itemFrames = page.getElementsByTagName("frame");
, ~! p6 q, B' |/ r# Z/ t6 P, J var itemiFrames = page.getElementsByTagName("iframe");
5 W9 } ]. r. W# e
% e5 C7 j' ?. m$ J6 z- `& Y var frame, iframe;
" k0 d1 f2 v& J+ d, O! ?" ?: k if (itemFrames.length > 0)
+ ? e; G `( e% ~" B {
5 }- A' u; M1 ]1 L for (var i = 0 ; i< itemFrames.length ; i++) * P. O$ G$ t! ~4 [9 w0 N
{ p* U! Y6 G3 T
frame = itemFrames.contentDocument;- b6 O, r, Y0 p" i
this.RemoveHide(frame,objname); B9 N- G$ W* M. e s9 O
}
O" K- q. Z! h8 e" s6 { \ }7 |( c2 G5 q5 r0 Y! Z9 j9 w8 W
if (itemiFrames.length > 0)) O7 u! T" j6 j5 _. H( f! e. U
{* X% I" T( r! r( R3 G4 _
for (var i = 0 ; i < itemiFrames.length ; i++) 0 Y& B' A, u; s. @
{' k- {" G4 T3 [+ b
iframe = itemiFrames.contentDocument;
7 j) P: Y# l8 r! }) Z this.RemoveHide(iframe,objname); & y9 U* e$ [6 L+ w1 t; p: J2 S3 g# ?
}
- U" i3 R0 j& n5 F }$ T$ s/ ^3 Q& Z, |) E
}9 A0 l& S! c$ |- n6 L
catch(e)9 l, E, q* N3 o# g) z' [
{
6 B" A8 |0 d2 b% U' Z. l/ q( R if(debug)5 k c: K$ y8 Y; d0 L- j b1 d8 V
{& l* k6 f/ Y* q$ L
alert(e.message);
. y8 Q! O7 G7 L5 K }
# B1 O/ k* I7 q& ` }$ g- y0 l& @8 k9 c. v" {, l
}
2 X5 E# X; A* q5 R# Y* z. } , d9 J9 G& I. |8 T
}' k. @+ Q n2 }
; _: y) E. p1 ~function getRGB(colorString)
' i ~( y$ A7 y4 w{$ M- b" W- Z1 h9 U5 `) b" O
var RGB = new Array;& [$ w% [ Y# f( b8 {2 ~' v
var tempSting=colorString.substring(4,colorString.length-1);
' g. X- n5 y! J# M% o, ` var tempArray=tempSting.split(",");: b0 E: U9 u3 D( }
+ P: G) ^9 n% ?" G3 _) T8 P& y2 n RGB[0]=parseInt(tempArray[0]);
: W! Z/ a! O0 b0 n RGB[1]=parseInt(tempArray[1]);! y5 k2 |& E! U# x% v( B
RGB[2]=parseInt(tempArray[2]);! w6 `! }: j5 f9 D
; ?/ {. V+ u4 x1 T
return RGB;
( g+ B4 E& Q7 \* v, H}. o- `. F6 C6 l/ j
function keys(evt) + Q8 N) I+ W$ R1 B* O) v" v
{ , V3 j+ v( B8 L9 G+ G9 {
if(evt.ctrlKey && evt.keyCode=="81")
# u0 u/ U, g$ D: f. }) Y { % m! w' A& ]0 o" e6 ], e5 V" r
CleanHideObj.on(0,1);! a/ B! m0 E/ u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 C+ m* U: G8 D8 c/ X1 s! q
' Z6 e$ N! F, b1 U }
. Q. x! f3 j) o) n; j: `9 A# ^ }
. u* c3 I" t$ _6 _+ Z0 [8 Qdocument.addEventListener('keydown', keys, false);
: N c( }7 ?$ _ s, A4 CGM_registerMenuCommand ('Clean Hide',
4 t7 b4 {- V. D8 k& w- o# l+ rfunction(e){
0 k! B% p7 ~, wCleanHideObj.on(0,1)9 z& m: K4 ?: W1 x1 L( A/ Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& e/ Z d8 s9 ?/ F
});
& O+ o, d8 X2 _' ?( t& x, t |
评分
-
查看全部评分
|