|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) K( k5 T- I* p
% ]' ?! f0 R, e. b火狐插件,用猴子
$ p0 ^8 N# I0 o% z& C$ x$ | i/ r( Y, h3 t, m9 {
var debug=false;
: N4 Y2 @9 W2 A, _. X: ivar CleanHideObj=new CleanHideClass();
8 V8 p* u& D; ~8 K/ R% e) H+ X, I; M$ C! D2 B
function CleanHideClass()
- k& {% e9 z/ x2 W. m: a{ " M" s0 U4 }: `; p
; f* y( c# A, c# ] this.on=function(id,bMZ) O; K; P( z) l; K/ \4 N- k
{
& T; E+ P6 [; w5 l) u* r( L
: K. P v3 y: `: e) j) ]! L if(id == 0). N9 }/ ?; s' R% \& t
{, R& m, l$ J+ l0 `" K% z9 k! S
var page=/* document.getElementById("content").contentDocument */document; % B, M1 n! L& ~8 Z ?) i
this.RemoveHide(page,"span");
) h( f& F3 c- Z( `& v6 f2 v this.RemoveHide(page,"font");
4 l" |) n& A, v0 g3 a" L this.RemoveHide(page,"div");
% s' X% {- u V$ }0 R4 T( j this.RemoveHide(page,"p");& e; w3 V$ L2 S6 X% {7 B
2 ]5 s x1 A8 W2 I2 D) q6 o
}! @& e9 `4 ~5 e7 y% g: r+ P+ B) O
5 ~$ ?% g8 C5 V7 c8 Z5 @% Y5 q
}
3 c0 ~- p( `& z$ w this.getobjstyle=function(node,prop)
9 l( n2 U1 R/ N+ E {5 ?' N2 ]3 v2 K7 D: f0 o4 w" H7 C4 l
try
( m2 V3 o$ U# t- ? {
) ~7 B. Z1 K* _! m1 z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ ~8 c% E6 @; o4 r$ J& |2 s5 P
}
4 P; d8 d1 P p, X5 D2 ?9 O( l catch(e)2 w, J: G! B6 t
{* o4 ]* _/ p0 g8 m
if(debug)
/ V% N/ b1 R' s# s {* |! }$ ~# }' \8 U! }
alert(e.message);
8 v0 E4 v3 B" h6 ~4 ` }
: D! K4 [% E' J% ~$ G5 i % M5 H4 \6 z: B
return "200";
/ K. u' ] v4 _+ b' t }1 X( L, J/ u' H* y
}
: Q& G8 \7 F* A1 c, W) G# N N
, Q) T" Q) P0 N9 U" t/ N this.RemoveHide=function(page,objname)# O" r o" t& m9 M; g* y+ ` s/ O
{
( E8 s$ d, d$ X4 _- |" p try
% a1 l8 d' J: q {
0 N3 G8 [7 I; i0 I var minValue=15;1 d: |9 e7 F& c) N$ o1 J3 q5 a
var objs=page.getElementsByTagName(objname);
9 w" ^1 S- `- s x' ?5 j: p4 c; `& Q8 I& B: r: M. n4 w% F
if(objs.length == 0)
) l# Y5 ~/ p- d$ K; z' S R {: i0 R0 u7 m! c7 p
if(debug)
. u% m+ P; { K: b {- [5 O7 D" q4 A8 Z& H2 V2 D
alert("no object found!:"+objname);, c4 A: t8 t# H: d/ W! ?
}, ?" n2 J0 J3 v1 j/ ]; |
}; p# J( `7 X" p
else
. z4 z+ s! b9 w: i0 ^8 a {
% n) o) ?+ F0 V+ d
' s6 r) k9 W' ?7 Z+ B- o) x for(var i=objs.length-1;i>=0;i--) - D6 ]: }3 o2 n; V2 g0 U# V
{9 P& `' Q) X+ s2 n( a
var node=objs.item(i); # U* y5 N @2 H' T3 s+ Q+ V4 U) L
) _! U* b5 d8 v' P- w
) a8 ]. u* X' V2 h1 V5 z4 I6 [' S; Z if(this.getobjstyle(node,"display") == "none" ||
/ X& I+ M: t0 q$ L6 P! d this.getobjstyle(node,"visibility") =="hidden" ||8 H3 A! ~6 G3 ~2 \0 o
parseInt(this.getobjstyle(node,"font-size")) == 0) % B' |) w( x- T0 ]6 s/ J' z
{3 Y6 s, U( l) a* [/ ^4 v
if(debug)
8 n1 y1 t; h Q3 W; B2 i {' X0 s( h- q5 ]: v9 D4 y4 R
alert("remove invisiable!");
2 [8 b, R- S1 C; } }/ k* _) E' r( u3 M0 h; P! K
node.parentNode.removeChild(node);
: q3 [; {* r9 [8 D9 _$ Y4 d+ f; F7 @, Z
4 c5 y% k# p- q: ~: n }
! G1 {. `; ]& [' J) O4 _. z else - W1 `2 L& _; V- [6 |) P1 M
{0 f) W" _/ e( f/ }. S4 X
if(node.parentNode)
/ l) `3 O w9 I% D% ]$ ` {
- q5 s/ y% j/ ` var orgNode=node;
8 L& I$ Z$ A/ e2 J var orgColor=this.getobjstyle(orgNode,"color"); X( l2 ]9 W2 E9 ~
var orgRGB=getRGB(orgColor);
& V, Z! D0 `1 Q/ y7 G
* F) S/ b# D o" _ var parentNode=node.parentNode; z8 l: u( U3 f- E7 d; U) K' {
var parentBgColor=this.getobjstyle(parentNode,"background-color");6 n3 k. `* u7 `- i
7 e7 p$ H9 S$ a8 e0 G/ [
var isLast=false;
, g K; Z9 J/ P
, {4 p0 D' U/ Q3 w' j, k; F while(parentBgColor == "transparent")
3 ]. x" C0 d+ t8 H- {6 x: z {# |+ F# ]9 s* T) U0 L
! ^* C# Z9 I' @' b' F
" b- r! z. q v8 n V
if(parentNode.parentNode == null)# q3 G4 {- y2 L1 }' D9 l( \3 x7 W
{5 F5 B# Y# R) S3 c* Z4 W% `( S
isLast=true;: |, {" y( E2 |8 K! }8 R
break;
0 m; @8 j! N" S- S" }! @ }
/ ]% T. C; }8 K$ e8 g1 k parentNode=parentNode.parentNode;
% a2 G2 \+ g# C- t5 i5 M9 l parentBgColor=this.getobjstyle(parentNode,"background-color");
; x( j# W9 L/ o/ {* F* ^
) B+ D9 x. R: x2 Q- O if(parentBgColor != "transparent") 0 a/ ^4 h' X; Y* ] M8 D! w6 o7 D" L$ i+ w
{! t' {( P% |4 f2 v+ S
break;
5 w* k" H% A, H+ M" h) z9 _$ R# v }
: v+ p+ |6 e/ ^ }
# m/ U" K5 x. X9 s; B if(isLast) 0 A$ _) X7 d0 Y3 ~+ V
{& c. n, N) ?' R7 Z/ s
if(debug)9 {4 X/ S) @& C( r3 f
{
, \7 r% p7 l u& ^& g& q alert("last!!");# S, o2 p0 z/ n' K% V
}
8 N/ T" }$ }* H w$ B0 P2 ^ X* ] if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ Y! p! F I3 T+ u: L; o1 ^! q) d {1 G" u5 q* i) Z0 k3 M, P2 |
orgNode.parentNode.removeChild(orgNode); & ?( t9 D% a! k9 a: U' x# x
}
2 M+ U$ z! O2 f, ~6 R) H( N }1 r2 l1 J9 G+ H2 `1 t. U" W
else8 V; z" X) i2 ?$ O( H
{1 c8 }) I9 S: d) }; c( w
if(debug)
! R1 ^( s) ~8 }# }5 G$ g$ R% S {5 n6 j: W( N) x4 m1 J
alert("compare color and parent bgcolor!"); |$ T9 e* @( A I* A
}0 F9 N$ N+ M. p+ q% l
parentBgRGB=getRGB(parentBgColor);/ y: ?5 D+ d* N1 \9 J5 h
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 z5 {: Z/ S2 A, K( o7 q
{
# m; o! {$ \6 I orgNode.parentNode.removeChild(orgNode); 7 M; u$ [) t3 Y
}% Z! o/ o# A+ E/ t% c% c9 f# v
}2 Y# W8 S# v3 W1 |" X# o( v+ s; H
}
: m) C) @" W" ]& S8 ~# N. b- y }+ A% D$ o7 O8 f! H0 g8 a1 n
}0 c- S9 ]+ k% G4 `" E' [8 S
}+ i0 q* I$ d1 q
( [+ ^4 J3 W) p& ?- v
, W# F1 j& i1 q3 W1 @/ _ var itemFrames = page.getElementsByTagName("frame");2 `* D4 G' e6 Q7 O [7 ]
var itemiFrames = page.getElementsByTagName("iframe");/ U8 V0 ^6 I3 b: |5 g5 g. V" K; }. M
* j- q' }- ~- _ A3 l1 j8 B: A
var frame, iframe;
* m1 E: ~6 V. @# O$ o if (itemFrames.length > 0)
+ h y! Z& T% b, y1 A3 C' O+ y {
7 ?# g6 m% [* R for (var i = 0 ; i< itemFrames.length ; i++)
4 C; _& N. o7 v. N {8 K: l* U5 ^9 v5 m1 V, E3 s, I
frame = itemFrames.contentDocument;
! R" {# z2 H, f- A$ h) f4 j this.RemoveHide(frame,objname); 0 e! V1 O# S, `; B4 f+ t2 b0 ^
} q5 V# O* V1 z1 P5 A
}5 n* h5 z* }' D; Z5 ]5 M# @# o' t
if (itemiFrames.length > 0)
! }0 ?) ]+ N2 C- \# M( R {
6 k. F5 G+ [! T& G e+ ^ for (var i = 0 ; i < itemiFrames.length ; i++)
% ?1 N1 j% ]; V/ m7 I {
5 X3 n h! H( R: k1 w% P- t iframe = itemiFrames.contentDocument;& q* w7 _6 z, } R9 ^6 T/ ` J
this.RemoveHide(iframe,objname);
) u% c0 {2 J: S4 m N: b5 B7 m" p+ _ }: Z; |( a! m7 |1 t: ^
}
% O2 }! q) @. `, t: g& m! r/ u- ?. | }
+ I, t O% h8 g* Y$ E( _- f* P catch(e)8 i$ l0 T! `# g& q' d# l9 H* D! G
{% V( o2 g$ H& l) ]# P
if(debug)& i, H/ O7 _& j, y4 U( {
{& x& ?! T- X, N w" B$ ^
alert(e.message);
9 _" i% x1 Q5 b9 t3 u2 G7 ^0 L3 D7 v }
. Q. |% x& m! O3 H1 {& H- W8 J. ` }
: }1 D7 @1 `+ t0 w/ d$ J }
( D6 [/ k7 V( e* |2 ~) c6 o
/ I/ {! a# g" \0 o}
4 C2 u8 L' ?4 q7 }5 M5 p$ J/ I# D8 \) ^4 \. P3 R C
function getRGB(colorString)2 {* J! N: M% V) S6 v% e
{( j. e2 X! v7 x4 m& w& J( B
var RGB = new Array;
/ A" M: _7 n, k' e+ i var tempSting=colorString.substring(4,colorString.length-1);
2 Z2 V3 k) w. g# s/ _6 s1 M2 _( } var tempArray=tempSting.split(",");3 Z$ p2 p+ ?' X+ t' a3 I
8 k+ K* |: }! r7 E RGB[0]=parseInt(tempArray[0]);9 @! M/ |, S; n) J. m
RGB[1]=parseInt(tempArray[1]);7 R2 ~+ h8 M" s6 K
RGB[2]=parseInt(tempArray[2]);: y1 k3 s+ p$ S- e3 O7 P$ o
( X/ G; d. m& c return RGB;
/ Q) Y( i# E7 }( h9 A4 Z1 j U}) G) K- U$ @! Z3 J* ?. a
function keys(evt) 2 s, Y' A& ^. A5 e, L) T, s2 h
{
: S" L T# W: D7 h0 y { if(evt.ctrlKey && evt.keyCode=="81")
2 h C2 |* j g$ u/ z s8 y S) b {
4 y( s$ P: o( }8 K! w5 r CleanHideObj.on(0,1);- Z* l8 H9 H# h7 O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 X$ X& @1 |3 z4 o, `
# O* F8 K7 ?8 X: o. B7 i! r
} 8 B9 G8 Q: k" A
} " C2 n7 H3 P' M7 c8 E# x
document.addEventListener('keydown', keys, false);
% r0 g% c! \3 @) `5 |. qGM_registerMenuCommand ('Clean Hide',) H! \& o- v% z% V4 y
function(e){( r& L% ^, }! c% f
CleanHideObj.on(0,1)
7 \, P# L3 k) x, O% }" Ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); f! T8 p5 L5 t3 Y
});
" w& T f1 R0 Y |
评分
-
查看全部评分
|