|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 t* M5 A* I$ t3 X8 x5 Y3 D% }
8 V3 N) N8 g( b- A. A4 W
火狐插件,用猴子* N; x5 {$ N' A( Q8 |) m
% Q* S) G& B$ _! ~- C- _' l
var debug=false;
# _- S2 ~2 R; ? k2 p: ~var CleanHideObj=new CleanHideClass();) m, u) M; e# ^+ l
3 K# S" u/ Y5 V( C$ o, tfunction CleanHideClass()
9 x4 Y) ^/ m/ [{ + f8 N. Z+ A) ]; i+ v. C, h, Z
# }) O. W! a4 s* N+ Q this.on=function(id,bMZ)/ [* o! K1 N. r3 A
{! {6 f& p6 ]4 @2 B& _: X; c
# @7 m! V) |( }- p
if(id == 0)
' E4 ^, w' U' m5 U. j {
6 [7 w/ R$ J- F$ a; ?& `; v7 _5 b6 ?% z var page=/* document.getElementById("content").contentDocument */document; & }2 k# ?* [8 I- J
this.RemoveHide(page,"span");
, M* c5 G# R9 I5 V7 h/ {; w' u this.RemoveHide(page,"font");/ \8 [9 p4 ]9 d6 G y$ N. x; }3 Q, \
this.RemoveHide(page,"div");1 i: H/ p- j6 {( }5 |5 E
this.RemoveHide(page,"p");1 i( s# c, ]% A( P% p
, Y9 g) q3 i- c6 o) F. `* i
}3 ~* P& @& S, ]- c
& g3 R0 b5 p$ V2 W
}
8 g2 l' }- z; B8 w) k; ]7 n this.getobjstyle=function(node,prop)5 m& l, N8 v3 ?2 [$ V `' V
{
5 K0 p: W- i2 g& a try w) o7 ]; k% V/ e% B
{
9 s, p- y4 d* x& U return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);; i; M: S2 E3 x" N; y- ?( A
}
& @: x+ _$ ^" \( ^ catch(e)
6 ~9 H3 U# E) x$ z. V {
s# j: N5 S; M0 t6 W+ g/ B/ \ if(debug)
9 t3 J) X, l& |) ~8 @$ \/ `9 L {" g/ C( {: ^- v: b9 {( |3 V2 n
alert(e.message); Z5 Q' H5 s& u1 \4 ^; \2 K( r
}3 |/ _- |1 ?6 p" F
; H& g* B+ b+ S: r: I return "200";) c0 e- G' m9 i1 |5 \) Z1 G( w* }
} V; O0 i; D9 `# O6 j2 Y. {; v" l
}
' {0 L* {: b' d0 B
7 R9 Z0 s, Z0 D: c this.RemoveHide=function(page,objname)+ m3 {( i: d# j2 u* x) H( x# a6 r
{; D3 Z6 _5 X5 J
try
; j5 e' b0 R4 w: u6 _, Q {
5 R8 e/ @0 F2 B K var minValue=15;5 @. I6 i- {) O7 I! R
var objs=page.getElementsByTagName(objname);
. ~, E8 h/ d4 M7 R4 }. z! }( O7 P4 a; _( N
8 q: |0 O# W5 d0 q9 K6 H- s) t' m if(objs.length == 0)
* w9 S! S! {; @' U0 C {3 h4 z% s* o( H/ B# T4 ^
if(debug)
9 `1 J6 H, H8 d) R; ]/ w {/ W) L' Z! W8 U( S: ]+ [
alert("no object found!:"+objname);
* R. Z1 w) P) Z2 C" o1 r4 D: [7 J5 [ }
/ @0 s* w" W2 Q }
4 W% ^/ N5 R" B% N1 Q. N else
( I4 t* V: n5 E4 [) b" [ {3 a' G+ G1 r: r
4 X& l- d( v8 D4 c* S1 A
for(var i=objs.length-1;i>=0;i--)
2 Z1 o; L$ I. F8 i( h {
2 N. p4 ^% t; ?$ w9 H var node=objs.item(i);
, K5 N1 X1 C+ Y, A* J* R
: I, R; |) M( U& u
- U; D C2 ~* E' P1 c, \ if(this.getobjstyle(node,"display") == "none" ||1 }, B0 }+ M7 W5 y0 n
this.getobjstyle(node,"visibility") =="hidden" ||
3 F1 U% C3 ?5 T% q, K parseInt(this.getobjstyle(node,"font-size")) == 0)
$ |) C7 P9 z; l {8 b# L9 L" n1 l5 R U k
if(debug) p9 p8 s: L, u0 v8 V- e- y' y5 a
{
5 P* T! Z+ z7 W8 |3 y0 @6 y alert("remove invisiable!");8 d1 T+ S+ _9 A
}4 A( v/ {. f! h+ U% @- [9 {
node.parentNode.removeChild(node);+ {" t8 N# g5 y' U" D
, C( d, P! _& e$ {( O }; _$ ^! T' ]4 o; S
else
- K: J; E4 c4 j$ K& e$ M B4 E {
0 W. P7 ^1 I, V7 e7 v1 W3 Q0 L if(node.parentNode) : ^9 N, K7 Z" D1 S3 x3 y5 l
{! h0 |9 i, b1 i. e- V$ _
var orgNode=node;* X% O" v+ i$ m' C
var orgColor=this.getobjstyle(orgNode,"color")
) T4 O5 H% _- ` var orgRGB=getRGB(orgColor); # Z5 o) o$ Z, y* N
; v: M7 H$ ^4 p+ w0 M# ] var parentNode=node.parentNode. X6 F! ?/ D5 c, R& u
var parentBgColor=this.getobjstyle(parentNode,"background-color");
% v8 q& H( o, S' w" h
0 H9 k4 ?4 D2 H# v& f9 s* P& O var isLast=false;6 E# E2 P' r( Y* Q6 ]
) u0 U$ k9 b! M u+ p2 Z3 b/ a$ A
while(parentBgColor == "transparent") W- l: _0 t9 @6 l3 T# j O; L
{
. x$ z8 Y) \5 l$ w
, o4 C7 [8 r& p4 s9 \0 w
% N$ B7 `! U6 O% o8 @! X* ^ f if(parentNode.parentNode == null)
5 s" J8 A0 w m9 R6 ^ {
7 J* f8 L; J) e+ d isLast=true;6 t4 c) l7 A& A& e8 e- e
break;4 r( m/ m8 z! t5 Y+ _
}
4 e$ _2 ?# |0 J; G. [6 W E4 ^ parentNode=parentNode.parentNode;
7 O, a$ U+ [$ }6 Q. H5 ]; U parentBgColor=this.getobjstyle(parentNode,"background-color");. Y/ ~* F# @8 B# }7 W) s
; G! f7 T2 x: m6 i: t; | if(parentBgColor != "transparent")
2 P. q- R$ g0 a, }9 Z6 }, B% z {
" ]0 ` |- M2 Z+ O( M T+ h) Z' | break;, T( |% S/ K, @: m
}
% H+ g v* ?& k. m1 W4 ^6 O }
/ L% W6 I5 E5 p Q if(isLast) # k1 u+ `& \6 y: I# o5 E
{3 e k' } f# l
if(debug)
# ^, e1 c; p+ U! j- R: ^- E" @$ c( b; W {
2 P5 [- z( @+ P: V% K9 S alert("last!!");+ o' m$ Z4 {5 e, a! O
}( m. G0 ` ? {
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 X1 p- s' H9 o* B, {- x {
3 L! |1 l8 v# H4 _$ V' C) a8 r) x orgNode.parentNode.removeChild(orgNode);
! j+ p+ g5 v V6 C# W& Z* t3 w. r }. C, K s' C: y) [, |0 L- { E
}
~, [" D8 b8 i8 A9 r; j else) e' r1 s) n. ?( `5 }. y
{
, P2 a4 o6 j6 v; L. \ if(debug)7 D2 w2 ]% D. A7 f
{
5 `$ K/ G' [( O; A! _8 Q alert("compare color and parent bgcolor!");
' w1 o6 P2 E p$ q$ n) D( B" B- k' e }
5 r7 K6 t. z4 j parentBgRGB=getRGB(parentBgColor);8 U5 f X' k# w
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ M6 _+ ^) m) S2 n: b4 ?
{! T( R$ }: z3 f2 T' ]$ p
orgNode.parentNode.removeChild(orgNode);
6 j% `( W3 ]! l) | }! H- n2 ?2 N! j' @& ?9 Y8 Z; H R
}
% o& E1 {- R5 x! X }+ [$ F( I" O5 e, z0 Z- C3 R4 R
}$ _ |8 l- r* ^' ]
}
( H. L- N$ k# Y }
! t. Y; _# }+ T7 a
# R; d# a6 C9 ]0 p9 E1 X; Z0 D- q
( n2 a; k/ d0 U) F var itemFrames = page.getElementsByTagName("frame");7 H& k, C/ Q+ B. V) @. _2 g
var itemiFrames = page.getElementsByTagName("iframe");% ` h( F) N; K5 l3 \
, _2 q h5 I$ P/ s# P
var frame, iframe;
4 m* \' c0 m) t, I T2 u if (itemFrames.length > 0)
* y _: m: a3 |. _ {; Y- m% K, s) @
for (var i = 0 ; i< itemFrames.length ; i++)
& `; ]* `& J! _# a$ D# O" ^# |) _ {) v' w8 }: k- y/ c1 p: T
frame = itemFrames.contentDocument;
/ L& _& {! T6 J! j7 x this.RemoveHide(frame,objname); * o' {7 X) G. d
}* K) q* m, z8 `' C
}: z0 w: `9 P0 h2 v
if (itemiFrames.length > 0)
( a6 ]( p7 |; }# K0 A* c1 v {
# s, Y! V- q) a d2 e1 D for (var i = 0 ; i < itemiFrames.length ; i++)
+ a: D3 r) `' ~7 J+ y& M {! Y3 s3 `1 i K% E- w$ C- h
iframe = itemiFrames.contentDocument;* W m- G4 e0 j. K6 r) F" w
this.RemoveHide(iframe,objname); . X0 n% ^9 n* q4 @1 U6 r* I p/ j
} l: L3 H% e" `4 O0 M- a
}: P" R% k9 N) C2 h/ X
}+ p9 q& V- T; L3 m
catch(e): [% Z# w8 }5 J- {+ Q
{
& J. }" d5 b% U! I* x+ V if(debug)
/ g- R% A! O+ j {
) c- P2 H' f" L9 g0 _4 e alert(e.message);, r* P x: t* Z- W; w' q
}
9 e0 X! _6 J# a- v" i }; [% M3 z5 V T& x' B, X
}! F( |4 c" v1 _$ u. {
" a, Y R3 e2 O. o}
4 g0 g9 z5 s) a. o v
4 `$ r7 x. Y: X0 o# b, Dfunction getRGB(colorString)
' n0 E& i7 Q7 P9 @ F{
5 T! [' z5 A) g. y var RGB = new Array;, z. Z( m4 z5 d: G0 X
var tempSting=colorString.substring(4,colorString.length-1);( {6 M) I) K1 m' {+ o9 l" u
var tempArray=tempSting.split(",");2 v/ L0 M( m+ j3 D! {
Y- H/ j& V* D( Y5 y4 ^) T; c& C
RGB[0]=parseInt(tempArray[0]);
3 h# x. D9 D3 u3 K% I RGB[1]=parseInt(tempArray[1]);" K O b, l/ i& J& U! S; m
RGB[2]=parseInt(tempArray[2]);" ?- j4 l8 C+ G8 o9 _( U+ W
a, i6 F$ V& b' F, g+ ~ A
return RGB;% l" h( \% t$ W
}
3 h& q+ w( B& R) Yfunction keys(evt)
# Z8 u* e7 }3 z: ] k7 l9 m- r ? {
( h) H$ C7 q3 M/ Y$ x if(evt.ctrlKey && evt.keyCode=="81") 0 W' g |: m. Q$ F
{ " u7 f1 k) E3 {9 p- S
CleanHideObj.on(0,1);2 X- J4 d$ j$ P" [# m* @7 H9 v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) N6 {5 @ F7 @+ d
+ @/ T, M8 X2 ]( d9 Q& ]( M! J } 9 g% v4 A6 n: h2 I9 ^7 i
}
6 M9 J& I& i7 ]+ v6 r5 l, O4 g7 edocument.addEventListener('keydown', keys, false);
" k% H, _" h+ `5 n; @GM_registerMenuCommand ('Clean Hide',& H$ |: k1 w8 i) P3 g+ k$ G
function(e){1 X$ b' S' L, x
CleanHideObj.on(0,1)% }. ]. u Y \4 i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ w6 ~ [( V6 \( n: h/ \});; d: A. S1 T' \& G' ]- }: z: s
|
评分
-
查看全部评分
|