|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 ~5 x- n4 \& a
( ^- T. \0 l4 v- j" w4 e# _& j8 _
火狐插件,用猴子
; t! o. N+ Q; ?3 o& n
: i2 e) y& n- p( ^0 \% m/ t! Dvar debug=false; . N9 T. C6 n% {5 r% `2 r& S
var CleanHideObj=new CleanHideClass();
8 {, L% \7 B& R* H% |
, P8 w' q5 S# D/ \$ R) a( x% H- sfunction CleanHideClass()
) z# P* H5 R) s% F. @{ : y* }+ J/ t5 [/ A
# k3 b4 `, A# Z) J% P
this.on=function(id,bMZ)
" M* F( |( D7 i+ ^1 _1 _ {" Z2 V4 H/ u4 n6 p( }; m. W
! C& a, O( G' y3 X if(id == 0)1 B# t s# o9 B- T9 i5 |, p) U
{4 I- d/ u! N% u3 {7 Q
var page=/* document.getElementById("content").contentDocument */document; $ f! M' t6 p$ n8 y) t0 j
this.RemoveHide(page,"span");
$ n& J3 x# @6 z6 G% L& r1 t+ I$ m this.RemoveHide(page,"font");
9 o& z$ ?! R" x8 e9 g8 P- m! d this.RemoveHide(page,"div");
1 h2 t5 J( y7 ~! r9 E$ U B this.RemoveHide(page,"p");
& v2 i8 ^5 f8 I8 x3 h& d " `# N( _2 X, ^1 K" @3 a" m9 ^
}
( z" d$ b0 h2 V8 E 6 Z' A, e' m/ R6 K! i4 A0 x
}9 |9 _/ Q; F; \3 V. b, @; Y
this.getobjstyle=function(node,prop)5 ?/ }) h+ e. Y# T. A' ]! W
{3 u7 o- J, p& B4 V
try
+ q. r y; ]3 W2 z: G {& r" K& E2 X/ V$ O" ~1 g, T1 S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 T$ x5 ~2 @0 n0 i4 t9 {' X; }: g }
& a9 l" {' z0 j' c8 U- X. I. ~ catch(e)
0 b" n% m* b4 p7 Z {
+ O4 S+ X8 k# [0 ? {; h if(debug)* @% ^2 u! ~% C# K3 ]
{
/ h$ B' O7 Q+ D, J3 } alert(e.message);0 v2 N) a$ e4 _2 H9 B. u/ O& V
}
, E! s4 o* ?2 J! L - N3 ]" t% \7 ]( \' n6 g" A+ ]
return "200";
4 u# F" {, x, o }
: j% v/ v- Q! \ }% E4 G- W2 H F/ a. Q( Z0 B7 |( p
( z$ ^# ]9 o. P this.RemoveHide=function(page,objname)$ ?5 t$ K+ r, _3 r/ _
{
( a% y6 C+ Z& e: Q try" p7 D2 z( X$ i* h7 _) n$ _
{
5 y. h( c" [* d! K var minValue=15;
) K- a/ q5 I# ^! b: @5 f' N var objs=page.getElementsByTagName(objname); - z8 W% _& G) _3 j: v+ Q; l. U
3 Y6 _, u e) B if(objs.length == 0) 0 [2 D/ ^, E- ?% t- _
{+ E9 h) v* _4 W
if(debug)
, b0 i3 c- [8 v& b& D {5 S2 e" j8 Z! m3 U2 k# I9 b, n
alert("no object found!:"+objname);2 ]/ ~7 R. |. K, U% R
}
2 ?; d! v& }1 I% D+ ~ }
" h8 p0 s2 R2 Y+ |$ [2 p9 P else4 ^* N& I4 w7 E8 ` V$ F4 t
{5 F8 q6 ~6 H& I/ c
1 {( u9 N1 N) t8 M6 \ for(var i=objs.length-1;i>=0;i--) . i6 J: q k2 b5 |& Q
{
% D D, @1 b$ N: | var node=objs.item(i);
* a1 R, Q" e5 ^: e; Z3 f
4 g" K6 D2 B8 Z' H# n
% w, e/ s8 J5 O( ]1 Y if(this.getobjstyle(node,"display") == "none" ||
3 p' X& |& q. n8 w this.getobjstyle(node,"visibility") =="hidden" ||' v6 G$ E* l+ h$ N& Q1 J. U5 ~
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 I0 X, w$ O8 M7 g
{) c- A! V$ _5 e/ C
if(debug)
* S8 A- G8 n, L {
f; L! n8 y% T2 J! G- s; w6 A alert("remove invisiable!");
2 Q" F; W7 T# P }
w9 {/ g4 K. E/ v4 J node.parentNode.removeChild(node);
- @5 D3 S+ R5 ^ 1 P) M6 W, Z& p$ d; ~
}
% @' P b& U0 D) F8 f else 7 f3 v7 s* l% F; [! a
{7 m$ }" H4 w5 ~ o8 x+ {) }
if(node.parentNode) : f4 U7 a+ E' c; A- b+ p! f6 |- ? F
{
3 ?0 }8 c9 N0 Q3 h/ V# a var orgNode=node;* o8 ?5 c5 @9 _" r, s) s
var orgColor=this.getobjstyle(orgNode,"color")! v9 ?; N/ S5 C+ c0 K. V
var orgRGB=getRGB(orgColor); 4 c0 {) w0 z2 _ y6 c2 I8 G) l3 ^
( `- D6 `4 \; e: p
var parentNode=node.parentNode
& R p: V5 q$ m1 m4 |) u var parentBgColor=this.getobjstyle(parentNode,"background-color");
, K- m4 s- H: V! m2 o$ a3 Y3 ?' ?
! J2 q9 E6 c; G {4 R8 ]9 b var isLast=false;
5 p" x" q; V. [$ l9 j
( r, O. k9 G- t- } while(parentBgColor == "transparent") + o$ T; T5 T: |: s
{
" a5 S0 v- h7 u- S f
* T- c1 S! u0 Z) R
, r& }8 k. m5 B2 _* _! H if(parentNode.parentNode == null)- c/ U) C0 n$ Z9 r# H+ ^* `
{
% _* `) o7 m: E/ J# n$ ^ isLast=true;, b/ p6 Y6 g/ U( b5 M- a% Q
break;' T) y; e1 Y3 z L# E; \
}4 Q* q' J& H% u: o
parentNode=parentNode.parentNode;" r" e! c5 i- H* M/ M: K# x% A
parentBgColor=this.getobjstyle(parentNode,"background-color");
( m# o. p$ l* W3 V- g; I/ C3 Q5 O9 a0 I/ y2 x0 j& @! g: k- ^
if(parentBgColor != "transparent")
( [ E) E$ l( O. I( I {% w) G5 i' K8 Z/ t2 U
break;
$ P. a9 e, {% Q) I, i }! T$ w* D$ X" e. d
}
7 m. A$ S0 m; [' Q if(isLast)
) [: O. \* N$ ?" ]# d# @' B {
/ \/ t0 @0 u* M" `2 ~ if(debug)4 |1 z6 y, R4 P1 J# w
{
. ~2 |9 B0 O4 f- @" G# n' Q1 b0 O alert("last!!");
0 b/ ?) E4 \" Q+ ^0 `6 S1 U }, }, X7 L% k" E# I# b2 ^" L
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 a* O- K |' h- x* ~; M
{: f2 `5 k" e5 {" y ^
orgNode.parentNode.removeChild(orgNode); * k6 e( o* p. U5 V
}5 }- R, K( z: {( F9 S" E3 J
}
- N! @7 S( E1 ?4 k else
" v) k# p; U" B5 G1 w9 E {6 I( H+ `1 M4 N4 w
if(debug)
, ~% E9 ]- o- U! l7 X {2 M4 Z2 z% {2 ]3 X. l1 D9 w( @; h& _6 g
alert("compare color and parent bgcolor!");
- [% d( y7 W) _% A' J" B& _ }! @, n* P0 C9 |! D
parentBgRGB=getRGB(parentBgColor);
$ J9 [$ o$ h7 ? if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 f/ d9 f# A3 ^' K {1 i( A1 r5 |6 X3 V% Z1 q" S, q
orgNode.parentNode.removeChild(orgNode); 6 \- t; Y! E" ?% t* T
}! ~" C- u- T$ l& G4 |& j/ A- G4 c
}
: W' k0 F% f6 m }5 H! n9 m! ?+ V
}, [2 \' }/ M# z
}
' D9 y0 Q; s- r7 y3 Q- v }( }6 B% ~* B! x& y1 O
# j* }- Y' O& m; j
- D8 J/ U$ K/ d+ Y& {/ G l" t var itemFrames = page.getElementsByTagName("frame");" B; b2 H) Y$ {" D* i3 w0 H) r1 X
var itemiFrames = page.getElementsByTagName("iframe");
j. [& \' B( z1 m" q/ x2 u
/ S" Y6 P4 Y' w( _ var frame, iframe;5 v7 P' a( f2 j8 B3 V* i' `; a
if (itemFrames.length > 0)
& r: [0 v! ~5 ?8 q {' X% g+ D2 `3 y& D% R: A
for (var i = 0 ; i< itemFrames.length ; i++) / N2 W0 n. y" }* @8 G. Y
{
8 g+ x% i2 @0 p3 P# F3 q frame = itemFrames.contentDocument;# T) @6 W$ [' A1 n% E
this.RemoveHide(frame,objname);
8 W3 p6 D: V: N5 ^" Q; h$ R3 l }; p+ K. m! z; T' M$ k3 v1 |
}+ _+ Y6 h Z2 m2 [
if (itemiFrames.length > 0)
, P0 m5 D3 {# ^; \ I. w {
c3 L& c) h# [# z. S Y0 [ for (var i = 0 ; i < itemiFrames.length ; i++) ( l: `* T/ j7 Y: `# f7 ~" T7 T2 _* u9 m
{
' x6 ?3 {/ x0 @4 g/ y. a4 y9 | iframe = itemiFrames.contentDocument;
. c, Y% q, c% l! q this.RemoveHide(iframe,objname); % C! W& \: g. F D0 A
}
8 L6 a3 ]. b3 J }
% ~8 G `5 Z: t* V }( f) K7 u u5 e' v. W
catch(e)& l! i: U9 s, Q
{
6 ^& H) b& h8 J3 x9 w7 ?% X- u if(debug)
' y E1 O0 B! h1 ?$ d, j {
- S! m% ]+ i0 x5 _! E5 u4 p alert(e.message);! T2 P+ [8 b; R6 i! Z: F! U
}. B t3 H+ _4 u5 v r
}
0 S5 k7 |: r* m9 w) e }
9 o5 Q! o0 D( T9 `, |" G4 x
2 U1 j0 h+ }5 R1 k, M" N/ X3 c" D}
5 o! W6 s @1 u0 o
1 Z6 F( ~) k' wfunction getRGB(colorString)& s" [6 F4 ] l( o2 Z R. S' v
{% u; O" [( i3 @, R2 F
var RGB = new Array;# \8 o- H p6 E
var tempSting=colorString.substring(4,colorString.length-1);
# h" ?! S: a0 b+ s1 i var tempArray=tempSting.split(",");
5 V6 ^& g- V1 g( P9 J
# G- X7 H' i. _7 u# f* L7 Q | RGB[0]=parseInt(tempArray[0]);: W) a; r1 z7 h! b1 r
RGB[1]=parseInt(tempArray[1]);
' U0 J+ g8 o3 r$ M2 x RGB[2]=parseInt(tempArray[2]);8 A3 i! O) L: x* r6 c. d9 ?; a
' N+ x Q I8 | return RGB;
$ n& C! b0 Q$ Z$ l4 m0 m& N+ V}; G; ^) I [$ {/ x
function keys(evt) $ y" n; Q( \. V" k
{
2 U# H8 |, M6 i7 b! z% ]5 L- ` if(evt.ctrlKey && evt.keyCode=="81") ; ]( b' ~+ p: K! [7 i$ Z
{ 8 r3 p Y. K1 ~$ }
CleanHideObj.on(0,1);* I- B( a. B d% w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 M" l$ z% A! S' P* |
6 l* v5 z: Q$ s, t0 L& K
}
, I2 P+ W' {1 d. Q } : _ v k/ q9 ~- ?1 q
document.addEventListener('keydown', keys, false);
9 x; d, m4 x. L& p: K" y0 dGM_registerMenuCommand ('Clean Hide',
: H: ]. g* L jfunction(e){
/ L- {2 V! L2 K( i; G% O& uCleanHideObj.on(0,1)' Y+ t2 T, Q- d1 S1 D: m* K2 ?: k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 U4 Z# [9 D0 z ^7 T; p. o. k});, t+ H4 ~9 g7 b) @$ p+ H& N! {% t
|
评分
-
查看全部评分
|