|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , ^6 }1 d8 s2 e ? C3 u9 w
/ p) {0 v. t! ?火狐插件,用猴子' l9 Q* J O* _' J
% n1 I, E" ^5 I0 N% K0 }
var debug=false;
1 b9 H$ r- Q& v. }. b. yvar CleanHideObj=new CleanHideClass();
y7 }5 v9 T( a* `6 T/ j3 F) @# ]/ Y
$ M) ]# a, j6 O7 J% R2 l6 Sfunction CleanHideClass() - Z: ]) |1 t) ^ y" c; `
{ % d! X, X- K- `: ]. O
, q. u" n# M' ^/ f1 v2 u+ q this.on=function(id,bMZ)
0 u" g1 l6 p9 q+ c" Y- q# K {$ P A1 @- N% Z" F9 i; x5 M
. y6 J8 K- \/ d/ r' W2 R/ p if(id == 0)
. y" `# V: x' m {
) l" j+ @4 z4 K, R2 e var page=/* document.getElementById("content").contentDocument */document; " m/ D# r& J* ^- c! x( G
this.RemoveHide(page,"span");
. z: P# D L2 [8 N0 r this.RemoveHide(page,"font");. n0 z% r j% a. u, c9 D" O
this.RemoveHide(page,"div");5 y" u9 p3 {8 _ ~% u' I2 U6 l
this.RemoveHide(page,"p");7 O6 _( E5 n" h2 n2 l% z
) N$ i/ E6 W9 r1 r }
! d6 g" L! }4 V/ b9 ^ l; m
{2 n6 i0 t; y- s+ V }
" B- O& H! l! o( V4 H* b8 { this.getobjstyle=function(node,prop)
% x% b- j+ a8 M. g {0 G" z) ^7 @2 {
try9 e7 b6 ]6 X! G% o" u& N. }
{
& G5 f2 Z% G# `7 m( G7 R return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 w5 H2 J/ T+ W+ Z) s4 } }; |: X4 p( Y; q4 Z( ]* z
catch(e)( ~' k9 |" d$ k' @ q* x2 {
{
* c& }% J2 a& K8 H7 Z( ] if(debug)! g* Z6 k" I' T% N/ A- M
{+ \1 |, o u7 j9 d# U
alert(e.message);- }8 q6 D. _5 H
}9 b' g5 o; k( X
9 T3 x( w& y$ i6 _' Q
return "200";
& n9 i/ g& W3 q6 ^1 @ }! ]) H& @) |. m$ d5 L) i& X& z7 @
}
" g" I- o# H& d2 r# V
' `' k- Q' q9 Y1 t \ this.RemoveHide=function(page,objname)
6 ~# q% R6 u: a. A; S3 W1 M p {& ~; k9 P& g$ o$ r7 i5 l0 E5 `
try4 H: m- z% h/ m# R' d
{
" {+ r( b9 e! l3 P1 L var minValue=15;
& S. h9 J2 K: q# X3 g' j) Z var objs=page.getElementsByTagName(objname);
4 c3 b, I4 L% f( F2 |
& _2 Q2 W) X9 _, w, ~ H2 j if(objs.length == 0) 3 q' S1 Z$ o6 Z
{
% Z( p n' J' I6 _- Z if(debug): R; u$ w! X" O0 {2 C4 I7 H- X
{ C+ s Q" n% o, r3 p6 M) c% j
alert("no object found!:"+objname);
& T8 ]4 B; V/ l2 N }4 p4 O- m, {; m- G
}
1 a+ [1 B$ j7 }6 e, i else! s$ S0 S5 |4 ` d: ~
{
3 Y) n- h8 Q" I 3 [1 \ o4 P7 `4 ^* |8 j
for(var i=objs.length-1;i>=0;i--) F3 D3 v5 a& o5 S
{3 x6 }8 Q( x$ w4 v8 B
var node=objs.item(i); ' ~$ T7 z1 B( W
3 C- @8 m7 J3 z2 h; d$ g# A! ?
$ H% T+ y; V, a, \& c* l if(this.getobjstyle(node,"display") == "none" ||
; @ m* V" F2 p+ \ this.getobjstyle(node,"visibility") =="hidden" ||
/ \: n+ s: j% g( ~ n% S8 G6 \ parseInt(this.getobjstyle(node,"font-size")) == 0) % e) k6 }& U& x- R1 u( ~
{; t4 B; I- h: _8 |% q* S3 H+ {- v& {
if(debug)
# L1 h) D4 \2 l# N& g/ X4 K {
$ S$ e+ x& j* m. z alert("remove invisiable!");; @2 ], `' ]/ v6 ?
}
, R Z& [6 J* s node.parentNode.removeChild(node);" v( H6 D5 t; C3 b* n% }8 i, o; b
2 f' f' Z y9 c& e/ z1 x, b
}& H3 {" _5 G& _
else
+ `9 c( _* \( p. o: s {2 \% q' L3 r2 c4 g- a4 t6 N0 X
if(node.parentNode) ! y" J X0 y( H% M4 o2 G5 W
{
5 _0 o/ I' u. Y' r, N var orgNode=node;3 s1 D8 ~) B8 {2 Y! ^* Z2 y4 k
var orgColor=this.getobjstyle(orgNode,"color")
2 }- h3 J! N6 E* O4 h/ e var orgRGB=getRGB(orgColor); " t( _9 ]! E% s2 ?- W
/ T' y9 T, V/ W" x/ X
var parentNode=node.parentNode0 k- y6 f# d4 M# E+ W1 J
var parentBgColor=this.getobjstyle(parentNode,"background-color");, `' Z# `1 J( A8 I0 n( g
^! n/ E- z/ p8 _7 x% ` Q var isLast=false;8 K! z; s3 ?0 j2 R! L
: t Z; O9 D. m. V4 z0 P0 |+ R$ j
while(parentBgColor == "transparent") # R$ ~8 l; K# s' y6 \) k- ~
{$ [$ y: _2 K: S* G5 ~
+ E2 D1 R% c; V' ^1 t2 J1 ` - D2 E7 D: z$ K: @8 D( x
if(parentNode.parentNode == null)$ v0 H6 ?5 j! M$ H
{
2 c- u2 D$ A0 ?* Q# Z$ |' w isLast=true;
; \' W; u: N7 L( ^ break;
$ Y- d: i2 f3 r& Y( x1 Z }% G, U: {2 ~$ v
parentNode=parentNode.parentNode;
- Y/ Q" u) w, ]$ B6 c parentBgColor=this.getobjstyle(parentNode,"background-color");$ R+ Q6 O+ n& [5 ]
+ a% g | D4 d! h3 v/ k" A" d4 Y
if(parentBgColor != "transparent") ( J o9 y" }/ ~& A% }& P. S$ R
{1 g9 s0 Q* n' M! M1 V# B
break;
, u% l; a" |* e( ^6 Z4 V }
' ?( j+ x. Q" o% g; F) Y }' b' X6 d6 A4 p/ N# a- P% F
if(isLast) ' `( E1 h5 g+ j/ ?$ n9 o) S4 N
{
7 [' K( L; K# [6 K if(debug)
" M. h6 g8 t8 f5 U+ ` {
$ k, P6 |, ]) O: E7 x alert("last!!");. m( W- w3 Q: w+ E1 A/ }
}8 d. T+ ~5 ~! @2 R5 y$ i ~
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ W# A I- h! |: b c
{2 U, J: u# D% c6 |/ h4 ?
orgNode.parentNode.removeChild(orgNode); + C& z& r, F: T# ^4 T j% ^( A. t( H
}9 M+ o: ]& y: a; }5 W
}
( v& E ?/ J/ J else
' R! N4 T4 Y( ?& _9 `. t- U {
7 S- {2 s) x, R1 X" z if(debug)1 Z0 W( Z7 D" U1 {0 N, ^. |9 z9 _
{+ A9 u8 [% q Q9 y0 t
alert("compare color and parent bgcolor!");" A6 J9 i; l! }, h9 X4 G6 c
}
* @. F* V6 W. q6 }' [# l# c9 l7 f parentBgRGB=getRGB(parentBgColor);' Y, n9 r5 J& W) n2 M8 ?3 z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' A: X& n3 M5 X4 W4 S! m {
6 E( K) x5 g) K, r orgNode.parentNode.removeChild(orgNode);
& Y# [5 v3 h6 I- \. O+ ~- A) x }
, Q+ y/ \5 j& I6 F7 n I }
- X% C; n1 j( t7 l! Q w) W( A }
4 B L- L1 }, s% f- ? }
( o4 Z. A% s, j7 r" u8 \ }8 X. n$ `" _" _
}. c8 l& t0 b6 U$ |. }& O+ f" i) ^
8 _- p) G; J, b
9 q5 }+ _) r0 S6 [1 t
var itemFrames = page.getElementsByTagName("frame");/ w u: v7 p. ^" w# f4 j8 a/ @. p
var itemiFrames = page.getElementsByTagName("iframe");9 O; u* f; b& N3 y
# b0 U( E# ^; T$ n/ v% P
var frame, iframe;
6 c @/ U" [" m- F- H& m if (itemFrames.length > 0)+ T2 h5 J# K$ D8 d0 F
{& V% K/ H. R6 u$ E. I
for (var i = 0 ; i< itemFrames.length ; i++)
5 {$ F* W7 W, I; P0 M3 e {! _! s8 D% j& j# m6 S& N7 d
frame = itemFrames.contentDocument;
R$ _1 D( i9 d% U' y7 P this.RemoveHide(frame,objname); 5 u4 @8 F/ K" O6 G0 X' z4 b S: S
}1 X1 Y9 w0 }+ X6 z) h
}, h3 o, K2 X* y1 z) V6 a1 R8 s
if (itemiFrames.length > 0)6 X" U C: H9 B4 d8 [9 U
{
5 p* w3 B" ]. t8 W8 W9 W$ O2 Y for (var i = 0 ; i < itemiFrames.length ; i++) 0 A0 [; R( o2 q8 D1 k% z, x
{4 m! `5 j4 P+ S& L# H; N
iframe = itemiFrames.contentDocument;
2 K1 u! {1 P9 X, w( D+ q this.RemoveHide(iframe,objname); $ S3 M9 n% P3 F: W* ~
}
9 d' p& }9 k/ i/ \ }1 W8 E! N1 Q5 Y' w2 U' P
}
( |7 ?6 {7 {$ W) K% { catch(e)
% {- W2 M; F2 c$ L% [4 l [ {
1 B6 S0 J0 W) G- _5 | if(debug)
0 Q& |: P. w. ~/ b {! X* A6 A0 d8 U
alert(e.message);- t# ]7 a- i' |, [2 d9 A
}7 S. q) S6 Q5 j, z* Z
}; D: P6 ~2 g6 Y0 N# ~- u$ r: |
}5 p. B y5 ]0 N. b
6 }3 L& M) w5 J. P% S5 n* S
}; q+ W+ v$ G, u: t: ?$ U$ a
* T) q! Y8 u4 R6 q4 `4 N+ s5 Efunction getRGB(colorString)
* w2 D8 p$ f" H" u P; H, s{
& q' p* `8 ~$ Q var RGB = new Array;
5 D [$ g& q! A) B5 a6 b" I var tempSting=colorString.substring(4,colorString.length-1);9 _. x3 T5 k7 s
var tempArray=tempSting.split(",");
) n& ^6 j1 T6 J) t; m! t* H: Q
" v( J/ k% ]- |# O0 A& } RGB[0]=parseInt(tempArray[0]);
* n- ]. i6 R% c3 D! | RGB[1]=parseInt(tempArray[1]);
" d* g4 O5 E8 ~6 r RGB[2]=parseInt(tempArray[2]);: T2 N. g! i2 a: R! V
& f, P: P0 Z7 G: n; B- o4 i* L4 |" i
return RGB;
" u0 D$ y' d: y) O}
8 b1 n- K S) r; B/ K& Rfunction keys(evt) ) r6 F: F7 q, d; E, S ?: I9 y' \ a
{ 4 n* d' i% y3 ]! D/ \% v2 y8 e* f- t
if(evt.ctrlKey && evt.keyCode=="81")
2 p! i. V) m9 K" |. N' z+ q8 l1 q& X { , E9 ?) P0 d. S4 ?
CleanHideObj.on(0,1);
. V" w8 \3 E: k2 ` alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 m$ o& H- d$ [5 @, _
0 l: t2 K2 E3 Z2 a! _ }
% r# @# F! A8 H. O& i } 0 D" S" S1 u4 P2 K: l
document.addEventListener('keydown', keys, false);
( C2 K9 W' _" a- IGM_registerMenuCommand ('Clean Hide',
6 O" ^# g0 {, o4 z% Zfunction(e){" c. M3 E9 z7 C& h
CleanHideObj.on(0,1)( G7 o* @% M2 L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ {( e4 Q1 J2 y
});
6 |8 V* H1 k) x: S0 ] |
评分
-
查看全部评分
|