|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * \5 p) Q: W8 U: q
2 F$ z4 Q& w9 |. R( E+ R; t; O* I
火狐插件,用猴子$ B: k6 O; U: g0 c
1 e5 x2 ~8 L$ M1 O: p7 Yvar debug=false;
' S* R7 e# k7 }& V3 Jvar CleanHideObj=new CleanHideClass();
0 L% j" b' f0 |$ q
' H- ?) T/ G! g# x% h8 V0 \function CleanHideClass()
$ ^4 s/ C$ l! W, g{ ) w$ f" l C2 D3 e4 p
+ o$ w6 v& S2 t this.on=function(id,bMZ)
e% X% w6 a7 [ {( W, O \* |! m8 R; {
: h! V- ~9 R/ t1 {1 F* ]! x P
if(id == 0): q3 b: |7 W1 W) \- v
{- {" X# c" K- p' L3 O0 g6 Q
var page=/* document.getElementById("content").contentDocument */document;
0 @5 J! G6 Z- D7 q l this.RemoveHide(page,"span");6 T" R1 q: t/ E8 |
this.RemoveHide(page,"font"); J4 ]: i% |" a3 C. p
this.RemoveHide(page,"div");
4 N# |0 N4 h, c0 o6 P: | this.RemoveHide(page,"p");3 ]4 P0 f* ~! \. |3 b/ Z) Q- f* X/ Q
/ R. z/ p: a+ p
}
+ t, Z. B; y0 d6 p& } c4 X: G
/ a$ G% h9 o, } }# c. y G$ w. S L( I$ C+ N
this.getobjstyle=function(node,prop)9 w# B" J& d# {$ H* v! Y( y
{: o: m9 u0 f6 i2 P& F
try, Z0 D! @& t1 V ?4 F3 D$ U5 C8 u
{3 j* ?4 n3 K% R
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); G3 _/ t! j% i$ q
}4 _8 y8 i' s% @3 e3 g# w# ?4 u2 J
catch(e)% X0 I& r- p: H0 f; P2 K
{% d2 T" l/ ~2 S! c. M2 V
if(debug)
2 X" p, D# ]' J/ \& `1 \7 e$ X3 c {
+ @5 l2 J# I4 }9 A alert(e.message);. L% l9 O9 ^, v( X. \& q& ?% x6 E
}0 s B- `. ~' N$ K) z
7 d: z, _# B M
return "200";5 ]9 M1 k" e' e8 z
}; l* T* ~, e$ S4 _
}0 N4 a q( v4 O* M
4 e1 ?; x8 \& H! O" M, }; [ this.RemoveHide=function(page,objname)8 x# @% c. D1 ^3 \) R
{
6 x2 d: L o2 y) q2 _ try
- y) q9 k+ h% [$ {% z: ] {
* f3 H Z* z) H, i var minValue=15;
% c0 l4 t9 ]/ @ var objs=page.getElementsByTagName(objname); ! g/ t$ e3 ?6 G4 ]8 n! I _
8 L/ t1 M _$ Z& ]/ X" V if(objs.length == 0)
( e' y5 z- I7 i& A/ K) g {% k# S! [# Z* Q6 t% r; ]5 ?$ h
if(debug)
4 L! t3 J5 r2 ~6 u' S0 v+ X {/ p( [4 K( k4 ]
alert("no object found!:"+objname);
7 Z( N) ^* e1 u }6 t5 ]. E2 d# }& i& j
}
9 T* a& N" z8 l% p2 i( \3 | else
, ?" ?) W, ^- g: y9 w" w {
+ W7 l/ g/ F. { W# [) @) r- W$ }% c : }1 [8 w b. h1 N
for(var i=objs.length-1;i>=0;i--) 1 c `. V! R+ l0 _3 z3 ^& s) U# x) f& z
{- \. ^) q0 P Y8 f' G
var node=objs.item(i); : c% z) ]6 j/ h2 h) g7 C9 U9 K
/ v: @/ p6 X! S- [( V9 u& o
5 T$ c- p7 {8 V7 X: ]
if(this.getobjstyle(node,"display") == "none" ||
; }1 S s* w) N1 t1 ? this.getobjstyle(node,"visibility") =="hidden" ||
! W0 K( B' U# j# Y, _$ p1 B6 ~ parseInt(this.getobjstyle(node,"font-size")) == 0)
# f P9 h6 I; I! ]) E2 ^ {
2 f7 C4 @( B' y |+ C, ~8 G1 ^ if(debug)
- u/ }; D5 n _* n {
" \- \; R" z' o8 k* w2 J alert("remove invisiable!");
7 ^: R K, Q8 Z6 I9 l7 i' t- \" l8 m }) d" Z5 h& H5 D" N
node.parentNode.removeChild(node);$ O! U W$ x2 \! a) h* l, E
# ?8 P/ i0 i4 g; S8 F/ m" h s
}$ Y( J; G3 o Y m* C0 M
else
( Z. C, e! i# ~: `! c" Z: R {
& i! p( A7 B8 q6 X( R if(node.parentNode) 5 o1 ~6 ~( ^3 U4 g; F( u( T
{( y( _; j1 k3 w( |( V* t
var orgNode=node;% Z: ~) h( S" R6 p' p& W
var orgColor=this.getobjstyle(orgNode,"color")) n' w7 p7 s- ~& b
var orgRGB=getRGB(orgColor);
5 ?. s( [% n- `. L ; ?9 E" v$ j- {4 L U4 S
var parentNode=node.parentNode0 L! u% z. X9 q# U6 `5 N! T6 Q5 f/ N
var parentBgColor=this.getobjstyle(parentNode,"background-color");: v3 \6 ~$ h5 a! }! B E
) R7 P9 l* J5 `
var isLast=false;
% z K2 q+ x8 A: j 5 h2 x" F8 U' Z- J0 u# d1 {9 F ]2 W
while(parentBgColor == "transparent") 5 _8 Q% S) m' M3 a. u! G9 _
{5 ~ i4 s; R, z. e" @7 q3 q
, U8 Z& q, m% J n
4 g: {: H4 u! f* P; w- A! C$ x if(parentNode.parentNode == null)
8 Y2 p: t# @' `0 p$ O# w {
) l8 X# t) ?5 [: F& L* m isLast=true;) }' Y3 {5 n. f+ O! _
break;7 a u f' ~# A9 O) Y. {
}
9 [: ]+ D) C C parentNode=parentNode.parentNode;
1 Y6 I. }( z: y parentBgColor=this.getobjstyle(parentNode,"background-color");" ]; s" y3 ~0 L& d6 ?
4 S F4 @- z+ ]9 p- p if(parentBgColor != "transparent") ) m, A* X8 v. F
{3 }2 i7 Z) I& V. s# b
break;" P9 e; x6 Z2 o0 @9 W* w7 w( _, m
}
( d/ N$ C5 o0 P8 |0 P h8 N/ }0 D }* D+ O+ s3 k$ } a# t4 ~- y/ L
if(isLast)
: A7 d4 z, {5 ] {
1 [" `9 T6 S; w7 Z2 x if(debug)
. A# e6 f# ` }2 j5 }/ ^ {
) [3 b* m' T( g alert("last!!");
. f& U% [# o. i }
: _3 y2 K7 s/ M8 ~ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" ^6 c- B- H/ C% ^- W3 [8 q7 ` {
) z9 W3 W, c2 @$ x5 P: ` orgNode.parentNode.removeChild(orgNode);
' K3 L' e' h( W! a4 E- S% @ }
) {8 P) |" Q; Q D% w }
; L9 c! _1 G6 G2 [, m- i9 h else
# f9 ~( [5 |7 [+ m6 u2 |$ B {# r0 s4 K8 Z- Y" K0 p9 p/ k
if(debug)
+ i0 [% l+ z7 D) u { K4 ~4 ` C6 }9 F% t/ r+ w1 `# v
alert("compare color and parent bgcolor!");( z" V S$ d' h: q* T* ~
}$ O9 j9 M/ j* t( r" I
parentBgRGB=getRGB(parentBgColor);
. `9 B: X. ^* X' }9 g if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* ]1 i# u% ]' n; j. i% k {
4 V& U8 M7 m8 }6 @! W/ X8 Q orgNode.parentNode.removeChild(orgNode);
$ B, ~6 h; k+ W, Q1 ` }
! k$ l, p; k6 ^4 d3 }* k }! x( l- `8 J6 Y) _# U7 L! s2 d
}
9 {3 p, b3 M2 ^ }2 m7 E2 E; U2 a( i% l1 Z
}: t* K* Z/ M% N6 ]
}- d5 g7 _' J0 r) `6 I8 `
+ G: i7 p% K) V q3 V: \) _
" t( ^8 V# K# k
var itemFrames = page.getElementsByTagName("frame");
! f" B, M/ t, `: W) a, x$ X- x% d6 r/ ^ var itemiFrames = page.getElementsByTagName("iframe");
7 [; ^0 A" Z8 l" n( H5 [ 2 f( w7 R- t( Y. v/ @3 B6 ]
var frame, iframe;
( w9 H" \! {* R if (itemFrames.length > 0)' n8 U9 u! r& z# f4 k1 [* w; c* i
{; Y4 s v$ j+ t( A1 Y+ Q
for (var i = 0 ; i< itemFrames.length ; i++)
& t6 h* i; N* M, c8 K* { {1 o4 c8 v" I' p! K
frame = itemFrames.contentDocument;
4 R- s% H7 |- Y2 K* @& S1 h this.RemoveHide(frame,objname);
* @7 h/ u% p) E) K* _- X/ ] }& ~6 u1 y0 I1 n& u v$ \8 \
}
( k, G, j( v5 D2 g+ J: Y. | if (itemiFrames.length > 0)& M8 ]2 {/ ?' D1 ]! d: M- R
{
# I5 s% h; c5 b2 ^ for (var i = 0 ; i < itemiFrames.length ; i++) & K4 u: N* M9 i
{ U7 R; _( A! H; Q5 F
iframe = itemiFrames.contentDocument;5 @( H s$ t5 T3 q/ H1 R A
this.RemoveHide(iframe,objname); - S* A0 t+ r7 T5 \3 [) D0 x4 l
} p8 `3 [6 r C& K
}
7 Y1 o7 @' v6 \ }* F& ^- [% S, x: o% D
catch(e)
1 @. M* z9 F0 m, k' s2 d- e! C$ P {1 }& h* a3 t3 E# M5 A) r! l& H
if(debug)
: X7 W" Q# [2 W& X/ e# q, X {$ T5 L" W1 `) l6 d9 z, a
alert(e.message);# I K/ |. j2 y) H) R
}& V" }: |: a+ R6 Q
}
$ O& @ Q+ m0 O" Y* o$ s* I }
2 U+ S) x& A- I% \" J
) ^* v1 i' O4 [5 d}* J7 R9 J3 i. `3 b4 C
7 ?) ?4 f- }) S. R" ~' {
function getRGB(colorString)
9 s5 J. l1 u) C' N& s0 ^{
) I' ]/ F0 j* T3 y$ I6 _2 i var RGB = new Array;
- i- \9 R- Y6 m# G) D0 G var tempSting=colorString.substring(4,colorString.length-1);' e4 p/ b& b, k z. E3 c1 k
var tempArray=tempSting.split(",");: S% j7 v; `- \0 `+ e' G
$ H1 `! a# t) B" H; ] RGB[0]=parseInt(tempArray[0]);
* m3 g! i' z( i& r, w" n: L9 B RGB[1]=parseInt(tempArray[1]);
9 W% e3 i; ^1 s6 y5 S7 b7 j RGB[2]=parseInt(tempArray[2]);$ {, @. ~ J' P0 y1 d/ Z
) D( F4 I) x% Q8 Z5 Z! @
return RGB;8 |8 {1 J( k, J6 q; Q
}! b4 V! L. f Q$ a) G0 E% D
function keys(evt) 0 J$ s5 v; |7 u- }; |
{
8 j2 N9 B' L2 u! a& ?6 L if(evt.ctrlKey && evt.keyCode=="81")
& E; p, k2 G# g6 _ {
* {. \$ _& a' |9 g# X CleanHideObj.on(0,1);% c2 R2 U, {0 G* K+ e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ M2 }1 M8 r6 G5 I* t% S- D
& ?( C( M' k' b }
6 w+ R$ u# h3 A } / f4 h" n4 e! K6 K. k7 x( ^* _
document.addEventListener('keydown', keys, false); : S3 U, s; |7 v8 Q
GM_registerMenuCommand ('Clean Hide',
% K% b' V9 U) A) k# w0 e6 s) @/ ~9 ^, wfunction(e){
7 D) A$ Y5 y7 }- q( i7 V% V* LCleanHideObj.on(0,1)) e) F; ?, f, {3 }3 i( I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- ]; c0 ~. D/ `0 S$ H
});
+ c' q+ D9 b. y2 u { |
评分
-
查看全部评分
|