|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - ^6 d S1 B" _4 ?' Q+ F& n
. K$ C& ?( n4 e- j b$ e
火狐插件,用猴子3 F- R$ P# \" j, I3 o- Y
, }( r6 D' |" d; \; i
var debug=false; ( E t- q) C9 i
var CleanHideObj=new CleanHideClass();" q7 H z! [. a3 D4 j
/ X/ t$ [ Z5 g# Ufunction CleanHideClass() 5 Q" u6 }) ^' L4 u% q1 ^, e/ [! `
{ 9 _: n$ n; B# c9 ^( B7 |+ b
, P: [# N- c. T$ |! E: e& |
this.on=function(id,bMZ)
0 }8 g& W( x6 v- s. n3 r {( V+ w; w( ~$ C) C1 }2 O* n, z( Z
( \0 e0 n& Z0 A/ T4 U! ~ K
if(id == 0); T+ e# }: y5 |
{
& |. G% |3 a& I Q% o var page=/* document.getElementById("content").contentDocument */document; - {( U( C) ? ~' U
this.RemoveHide(page,"span");
: O W' a/ _& t; P/ M0 l this.RemoveHide(page,"font");
8 B% N3 B$ h" P. z, Y this.RemoveHide(page,"div");" Z1 B$ Y1 Q3 E h
this.RemoveHide(page,"p");
; n- q! _- O U# `3 a7 E8 f $ f' l8 N+ D: a! D0 g) f+ J
}
7 F, |% F# s, L( G( f6 k6 M7 p8 q - q$ ^: f( `/ k
}$ O8 I9 O( ^5 x* F% l" ?2 Y
this.getobjstyle=function(node,prop)' @' Y0 N: [ N9 d. N7 L
{1 t6 ]% @6 X; _
try' c3 D3 U3 ~0 ^% n/ w6 d, @
{0 K9 @$ o& C6 b1 d. b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 o: h6 b( P5 y6 D1 O
}0 l7 S0 E N. F$ L
catch(e)
( y2 _$ \, c3 }( m( V A {' P* z) \6 F7 n
if(debug)
+ o$ u6 e" {/ R9 S: x: k {
: N, ]" ]6 ?$ G8 `$ U/ ~+ A/ i alert(e.message);
3 p4 s0 ? x% m* T) b }
( U- _! ]$ J9 n' \( K
% ?; u1 i3 G2 g( C5 @ return "200";, V, Y3 _2 w4 k) \% B$ f
}
# F: ~7 r# [% R, O }
7 L- S! {% v% U' w7 h `* _
' D& ~# m8 a2 a& E2 d5 _ this.RemoveHide=function(page,objname)
( q9 {8 [, P$ m3 U& Y) x6 R- f& Q {4 E6 R7 s1 p6 h4 |6 ]
try& Y' e3 p. M# K s- G
{
5 X- R- m+ r8 Q3 j! W8 M var minValue=15;+ f/ V% F2 Q5 l) a- o$ a8 B
var objs=page.getElementsByTagName(objname); * G& s f, K [6 {
& j: y/ `; I; T5 b0 y if(objs.length == 0) 7 Y5 ]( T z0 A/ h0 s
{
3 T( r! [7 U' x$ }: m: ^0 C0 }# ? if(debug)$ {3 ?4 q& t7 Z- o
{2 R# u1 W, {4 w7 K& [ v) h6 j5 b( _/ i
alert("no object found!:"+objname); i& J7 Y, y/ I
}
. R. e/ T8 |9 ^+ _4 V; [ ^8 _ }4 S! m6 p; x3 X5 Q# c
else' A; g, J+ ~3 v- Q2 l
{
6 O7 N+ \! y# Q. W) } N
1 b9 ?3 |& |/ |5 J7 a for(var i=objs.length-1;i>=0;i--) ! c+ H- `5 p8 I4 ~# A
{
2 P& N' F# m' D: f) S0 D* \ var node=objs.item(i); ) P, I$ e; g- H! x
; @( X. y, L# F" c h! B
2 h7 `# o$ e6 ~+ Z- I
if(this.getobjstyle(node,"display") == "none" ||/ K# C8 I; ]/ N( V0 t9 O: b# c) t
this.getobjstyle(node,"visibility") =="hidden" ||
" B% V/ `% Y; n Z parseInt(this.getobjstyle(node,"font-size")) == 0)
4 H7 G6 p5 z, s0 g" g- V0 t J {
" p- y- u; s0 G! P1 ^1 [ if(debug)' y& R$ U9 V* R5 k8 c7 ], A; y
{; N( g4 s8 a+ O) u: t
alert("remove invisiable!");% f$ f6 N9 e7 `( I2 {$ ^
}% b* m6 t- B! V/ W0 d
node.parentNode.removeChild(node);
3 C5 d) j( I9 N4 Q- x1 g1 v( B # s" n9 I5 u* O2 w0 F1 P; W. k
}. d9 @$ k- k6 Z
else
8 n- [6 {$ O/ T7 X+ [+ x {
* s* I9 l" [9 O: O+ I if(node.parentNode) ' R9 T* H* U3 Y+ s {0 G
{+ }3 H$ W& l! I" z
var orgNode=node;
+ f V/ o% x& f$ h: B; D8 O var orgColor=this.getobjstyle(orgNode,"color")' R; E1 R' |3 _8 x+ w
var orgRGB=getRGB(orgColor);
9 V/ G. U/ @3 U- a
5 y) h; Y8 u2 Z- p$ w; h var parentNode=node.parentNode
) I* r: k, B& n* U$ ~* w. R, Z+ q var parentBgColor=this.getobjstyle(parentNode,"background-color");
( N1 ^, R7 @# \+ l) s, D; K
0 R; f3 }! l& [# n2 w9 L$ d var isLast=false;% ], Z1 y. x% g
4 F- i- h8 Z: ?3 x2 r. a) b, u
while(parentBgColor == "transparent") ; ^9 U5 `3 _ Y' L
{7 h8 H- Y8 ]3 I9 `1 H0 L
~1 H0 L& v& S9 Z
! M; i% @; p0 L2 E5 C/ E) F8 T if(parentNode.parentNode == null): T7 [8 w0 S6 ]/ w5 n* ^$ b, `4 D
{" Z8 Z" i9 G4 T8 y5 U% [" s
isLast=true;# ?; w6 Z3 Q- ]
break;$ b; i% u' `2 s* l4 }
}
% W7 p8 D* ^ p5 p& }" q G& `) m parentNode=parentNode.parentNode;5 j+ W/ a+ \0 T! g9 e0 P7 w& a9 L. L
parentBgColor=this.getobjstyle(parentNode,"background-color");5 X4 C6 s. f2 i) P' N
8 R% L8 E. u( a1 M q8 z: W
if(parentBgColor != "transparent")
/ @3 f9 N- Z) e% c {
+ M& y: ~- u4 m/ s8 T- M$ i* ]% Y break;
9 j* R' \4 \: f: w6 ~ }) P( k4 e( U2 J2 a# C9 a
}
: E7 U/ u% |2 L2 i- e$ g; V/ L0 i if(isLast)
0 K4 @8 M, E$ [' _0 B" M7 a {$ Z% j* e v `; L e! g$ |! Y
if(debug)
1 L7 t; g" e5 `: H9 U. J6 f) i {
% T0 Q" P( P1 v9 g( T alert("last!!");0 A: a0 E/ |- N, E3 n% Z
}
1 x# @+ r. y I: q0 r( F if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 P! \# q$ ^! j3 p# w
{
8 @1 M+ B, I5 p6 z+ Q% }0 a2 X orgNode.parentNode.removeChild(orgNode); 1 k. K0 ~6 D3 z7 I. A
}
3 N3 j0 {) e0 b9 o: [/ k }
2 q2 R9 K6 J; ^; p- b2 V. } else
6 Q0 y$ @% G( N( `3 s- z {
5 L! p$ }# K* v& o if(debug)
; Y' P- h* m* }3 T5 i: T {1 i# e: t7 n/ o$ Y
alert("compare color and parent bgcolor!");
" O! m3 e. C& w }# o0 Q D6 {5 _4 ?
parentBgRGB=getRGB(parentBgColor);, O1 I7 F. a9 L- K& t5 M, T: R# r H
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 D$ c y) q+ D% o: N/ _4 x5 o {0 L2 X: e; H' h% x) B& ^# Q
orgNode.parentNode.removeChild(orgNode); 0 ^ S/ }1 F i" v1 D8 Y
}; P" h8 O1 m! Q) g
}& O# U$ K3 H! L' k7 w& i1 G2 n
}9 K' r% Z8 j5 @6 K
}. F# e, Q2 I" x2 v9 C: t8 O
}0 N! r7 U( z& g
}
2 S0 D) c: W8 q0 _: U # Z, t, k0 f7 n' D. ^* E
. V- l6 I/ b) q' P j var itemFrames = page.getElementsByTagName("frame");
) n; W4 x0 b7 Q; C, y/ x2 k var itemiFrames = page.getElementsByTagName("iframe");
, P! i0 t+ h) @( {: T2 ~
2 c$ S( w; T ?( J var frame, iframe;
9 |- p7 {& s5 ]8 l7 @) v if (itemFrames.length > 0)
) |2 K( S- S' z" V# |4 |$ z {
5 O4 X. q2 }% D$ g for (var i = 0 ; i< itemFrames.length ; i++)
; M c) C% S8 j( q5 w% j# O {
6 f% D0 C9 x1 F& L frame = itemFrames.contentDocument;
N( ?2 _) L3 B0 r( a this.RemoveHide(frame,objname);
9 G$ W1 }" ` F+ b }
?1 X7 f2 D) s" a }
3 S, @+ W8 z4 q3 V if (itemiFrames.length > 0)3 @! A+ m: \3 X6 r, B% @0 y y
{. t; g, E; s% g! B
for (var i = 0 ; i < itemiFrames.length ; i++)
7 n+ \6 H1 x" n& G8 z8 a {" X$ Y& B5 e$ M1 `2 E! }+ |
iframe = itemiFrames.contentDocument;8 } E+ a# S2 r& C
this.RemoveHide(iframe,objname); + H( J, Q; Z4 L7 ^' q
}
' V" F8 L+ J5 t( z0 {4 n" ] }
7 G7 c1 v' Q1 T7 h! i% F2 T }
' C2 u5 p. Q1 Z4 M! I7 k8 x9 W; } catch(e)
9 X3 e) b5 [' G# ]/ u2 A {) j5 Y: p# G* b2 u4 X8 r4 c
if(debug)
% r4 p- r4 c& H9 @$ J ^ {* y. s. [4 _; B6 ^
alert(e.message);
2 U- j& d! T4 m% I, ] }
+ s# |3 u' P; Y, e+ h3 ~! Q$ h }
" h2 j! q( _- ^8 h! s5 ?. g# j# N }
f$ s5 c3 }, h6 W$ p; M' R . V# }8 e$ X- y; D6 D5 k. C& Z
}9 d$ M6 m. U: y! C
+ V0 f) f" Q( l8 }' N/ efunction getRGB(colorString)
1 y4 X, |: L9 n2 d{: N1 A$ \ S: {5 B
var RGB = new Array;
8 b. g0 R; o% K/ z F var tempSting=colorString.substring(4,colorString.length-1);& A. Y! D& P* T% ]8 d6 W
var tempArray=tempSting.split(",");" Y; N7 @- {0 }" H) N
5 C0 ]! i4 a, _6 b0 | RGB[0]=parseInt(tempArray[0]);
7 w5 s1 W* f% |4 l4 O9 L' o RGB[1]=parseInt(tempArray[1]);8 K) W+ S* B, i& e( }* i
RGB[2]=parseInt(tempArray[2]);
0 F0 U$ I, ]+ }# U0 {
3 @6 K4 ]1 _8 ?/ O. u+ [: R return RGB;( m6 F6 x1 W. n1 j0 q) o% B+ ?
}
4 y$ b6 l9 t- y% kfunction keys(evt)
! y1 t4 ^! k4 d5 D: A1 V7 z8 r {
7 J' D6 K; v9 m- Z. S; T2 |# `# n. R if(evt.ctrlKey && evt.keyCode=="81") / R3 O' v3 V' V( ~8 y5 ~* H( d
{ 8 h) a z2 g! b' M c: v8 X" b
CleanHideObj.on(0,1);8 ~8 m( m) i/ x% P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 L& P W/ d! y% f) n. e) ] 5 x2 l: h; }# p& o
}
4 l+ }7 m* M# O% H; y$ e7 ~8 F }
1 ~ \; z; [8 ?$ q% @! Sdocument.addEventListener('keydown', keys, false);
8 D, z0 i, U c( F6 Q) D3 pGM_registerMenuCommand ('Clean Hide',
# ^* ?& g% q2 W9 hfunction(e){1 U# Y) f9 Q+ v5 U+ X
CleanHideObj.on(0,1)
+ O8 S6 j* q3 g F: ]& h( K" S. [alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 Z% n) J- S2 r1 B
});' u9 j* @; U- j6 H
|
评分
-
查看全部评分
|