|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
" `8 D" w w. U0 z2 `
) ~0 H& o; l( i9 Q* a' r1 {2 B火狐插件,用猴子
# X! G5 f+ d# X
1 d$ V X+ ]2 b8 `var debug=false; , ?8 s+ ^6 w/ D$ {8 O
var CleanHideObj=new CleanHideClass();8 x: b. p' r% p$ @
( r4 |, {, q1 G# \
function CleanHideClass()
, N1 D0 r% D* f+ L1 I8 \{ $ k7 k7 A' B4 j
/ v, W, {( j0 m$ m. e4 q. r/ @; T this.on=function(id,bMZ)
" e `- U8 R, {$ j7 x {
& J$ \) I: Z9 @3 C* u+ O 4 p0 q3 ^! R8 }: Y- n
if(id == 0)" D2 U9 S, V9 P! T, z4 Q( E2 B5 I
{
1 U7 Y2 g$ R. f0 Z% }) _7 C var page=/* document.getElementById("content").contentDocument */document; 8 S$ C, J8 H: P0 _
this.RemoveHide(page,"span"); N3 F* C1 _. g2 c8 Q j
this.RemoveHide(page,"font");
5 k" q4 e2 h5 i this.RemoveHide(page,"div");9 \2 q, l/ m! e. G2 a$ a0 V
this.RemoveHide(page,"p");; [: U5 a6 |- Y' }
, Y" [; r0 y" {. _3 _ }+ | x* W6 M' _
6 I% v" `! f! A) Q
}
+ u6 |; @3 P8 V8 p0 ?9 ] _ this.getobjstyle=function(node,prop)- q; k0 }/ l) Y7 N, g
{; p h# A: z/ M, `5 G. }) ^, u
try
& t2 C: N d& }8 {0 x4 \) s0 B {4 E4 J' z: n/ d, b0 V
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 P1 ?6 X, d7 ~6 o% L9 t' D }, O. z2 I v" F k
catch(e): l3 ~# x& C, R' C- g6 _: ~
{
+ i$ W7 L* ]" x% D$ N if(debug); A6 \8 y( E) v }, ]6 S
{' ?- q5 d+ F9 D3 Y
alert(e.message);
% o8 G% b4 k( L. Y" O3 g4 Z0 ^# V5 V9 r }% i }: C1 h% ~
z4 `1 z6 H7 f) s8 Q1 g
return "200";/ E6 F% V* n* n2 y# T: O7 P
}' x; C; e9 K8 X) F, O: H2 D
}
' ^$ v' `# y# ?3 }* e 6 A" R$ F0 t( ~* T
this.RemoveHide=function(page,objname)
; j* m. H% I) T! B5 ~ {
, w4 n' g. g$ C0 @* ]% M; r try
9 n) m- q) ^: z5 q" ~( e: Z {. a; g6 f% ^: G! s3 g& H( f
var minValue=15;
+ j4 L. A& s1 k. B var objs=page.getElementsByTagName(objname);
0 N" `- z' a! Y9 E2 j1 M
; ]+ o w5 j' s% [ if(objs.length == 0) * K6 G O6 a& P. V8 @
{- b6 a2 Q' M! S2 Y# e7 f5 H8 X
if(debug)( ^) Y, }* V8 h; A2 {0 W$ Y8 f& U
{
- H6 ?! Y4 j& w* V alert("no object found!:"+objname);$ v: T9 O p- P3 j
}
+ \' p B: h1 k8 A6 Z }
0 L. @% ` u( J' b else
5 f3 @# { T& v6 s {# g9 _* [% B8 `5 O( ^
. L4 U# ?; |% Y; p/ M) Y for(var i=objs.length-1;i>=0;i--)
7 Q7 P4 h _" F% W# g {
% L6 b- m7 m) Y! ]( n5 t" q var node=objs.item(i);
0 \+ B1 h( v; _6 W4 C ( P' N) C6 ]% Y3 V9 A( c+ E$ _
) e4 ^2 C; T: {2 R; s1 J; c if(this.getobjstyle(node,"display") == "none" ||6 u) n8 L+ S3 v$ j
this.getobjstyle(node,"visibility") =="hidden" ||
# O0 V0 h! u5 w+ p parseInt(this.getobjstyle(node,"font-size")) == 0) J8 W B$ c' ?5 \* Y3 C& R
{" v4 T% K6 X9 I( E
if(debug)1 h& @; D+ s, Q! s
{
/ M* u0 ^3 _6 V# w+ f alert("remove invisiable!");
- B6 C/ h8 v+ I, u5 S0 E. k" G3 ? }8 {2 [' X' V3 k; f# c
node.parentNode.removeChild(node);
. q2 k# r( c% T$ c0 S+ R: v v, @' E" b, J8 \0 }$ l
}
- X; ], Q( [6 L1 H, \. k else
( P- d' H- r; X# y/ V( V( Z( f5 [ {3 |( W- O( R& M1 [# c
if(node.parentNode)
% p r. P" L+ ? {9 c3 _! _- x& v! U1 C" u
var orgNode=node;
) l9 K5 ^% O+ U- j7 ]6 j var orgColor=this.getobjstyle(orgNode,"color")
( G/ ^2 _& h- ^" `& M; ^% K var orgRGB=getRGB(orgColor);
" `4 p" V/ R+ z
1 \& l: p7 E5 B& E1 }- [7 o7 F* J var parentNode=node.parentNode) X. A& Y8 |0 q8 q" L& H* K* u
var parentBgColor=this.getobjstyle(parentNode,"background-color");4 d- H' Z" f1 a9 M( {( P2 v9 {* q' l
- B3 }1 q' @) q! [- C var isLast=false;
/ C0 [& I( e# r2 v
* I& X- ]. d) q6 p9 @ while(parentBgColor == "transparent")
5 m# D" K) l$ D7 w) T# r1 E. \ {
/ u, D3 h" W# R
2 R' s1 Z, Y8 \! l, w+ p. ^- P
. R0 ]7 G* L, _0 W! ]% g if(parentNode.parentNode == null)' @8 ]- r @9 v0 n: E8 J
{
+ z9 o6 G, r [ h+ ^ isLast=true;
# X' _* \# l: J break;- ]: o8 Y( {1 B0 |/ S3 R. @# K6 ~
}
- A2 {5 _) Y0 ~* g' L) l parentNode=parentNode.parentNode;. {" q' C" `* R/ @6 A$ m
parentBgColor=this.getobjstyle(parentNode,"background-color");
. U! s* C8 r* u" e5 t, V8 q6 f+ i+ W2 b6 }$ y: p. Q. j
if(parentBgColor != "transparent")
; E$ b) V' z7 z1 V0 c: `4 N {
4 Y" L" V2 {( _; K break;' G3 K, F# N+ o3 w( ], E
}
- b& P+ t& F9 J$ }0 b. [1 o } |; S. e; V" b
if(isLast)
/ Q8 W) |, H% S" E$ ^0 t* e {2 z3 M# W, X% I% ^7 x e
if(debug)4 J) N1 I K$ M J2 I
{
6 E, q' ^; m1 E alert("last!!");
' ~% q C# w5 O4 c. V- ` }; {8 B3 C0 x6 @! E% P P8 \' ?
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 D" W% g9 O9 @/ }
{) I; ^9 `& R4 L" r
orgNode.parentNode.removeChild(orgNode); ; W, D* ?% {1 K3 Z: x/ S, h% j1 p
}1 x2 Y6 D) w1 N$ ~, W! @
}
$ n+ l4 U6 N/ i else ~+ o4 L, Y( s
{
% s$ C% K1 |! m5 J+ N* y* H if(debug)" o3 p/ n' R7 \
{
2 h* n# _ R% y' s) Y: f- n alert("compare color and parent bgcolor!");$ T3 j- {& I# l) g6 V! N
}
/ V" i1 g& x/ i* x% l parentBgRGB=getRGB(parentBgColor);
& c+ v3 M- J- i if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% d/ ]$ t( Q& z* F# I {; j9 ~: V3 `( v c) E) P
orgNode.parentNode.removeChild(orgNode);
1 R' D9 I& M2 v( h5 ]$ e. E# S( R }
9 L' F3 Z. H* B0 B }$ l% k) I, [8 T
}. r: Q( u2 ~5 t& j! {+ ^( o! l$ c
}. w% ?8 y, j8 Z a3 W
}
5 u& g3 P- m) J* y( n$ G* e8 U }1 V; }9 u1 R9 \$ G
3 ?2 _* a9 Y- Z' g$ _6 | ( a4 K9 @/ e: X: x8 u
var itemFrames = page.getElementsByTagName("frame");7 Y, M- M* h% ]& \1 q3 \/ W
var itemiFrames = page.getElementsByTagName("iframe");$ w8 q6 @ ~6 [9 z
^2 _1 m! z: Z% H7 y' G( ` var frame, iframe;$ D/ f/ h# i( v+ f q1 T- d
if (itemFrames.length > 0)
1 N. Y7 r4 P! B5 Q {' }, [$ H2 F& U4 C
for (var i = 0 ; i< itemFrames.length ; i++)
# Z: o/ ?8 P. {' z$ V- H1 ~/ T* G {9 L8 u) U) H' H8 N' i# K& m
frame = itemFrames.contentDocument;
9 {7 W) _* y1 m9 R( B }- Q% V this.RemoveHide(frame,objname);
! c0 h" j& u3 n0 W }* _$ B% n7 R3 c9 i z V" w6 R! W
}" p: h2 W. W3 H* R) Y! S
if (itemiFrames.length > 0)% |& w. | f3 H6 k# \" E
{
6 Q" z v/ w( B+ @3 I for (var i = 0 ; i < itemiFrames.length ; i++)
( ~% n5 s; Q5 I$ [% J {
% k+ A9 T* t) [" v; H7 l iframe = itemiFrames.contentDocument;
. ?* E9 z& ~( r# K- r1 v; U this.RemoveHide(iframe,objname);
$ E2 b9 g9 n7 F% ]8 v' } }* @4 p. L9 y6 x: P" Z3 e
}( ^) r0 ]) N N8 {7 x' |; X& l
}
: ]+ \! x& n5 v- `& f catch(e)
( Y& Q* r+ N1 M6 u2 b5 _4 W {) B$ O7 \5 u3 h/ d- N* Q
if(debug)0 F+ I2 A' o) A9 ~' A8 H$ b) B
{2 y- W' g( B- e; c
alert(e.message);
% J5 p/ R7 H' H* A }8 P% }6 u0 A# Z0 u( W9 [
}
' K. |- n" q- h; W; {, W0 D( e* k& G }
5 ~1 Y ^, z! e6 t! h
' P) P4 G3 S; [3 |6 K}! E6 f& [/ V$ W- J' t- D
; O5 E0 Z5 n8 ]- Q, W
function getRGB(colorString)& `) M' O: X# a$ v" q% i
{
* n2 j# C3 v: e* o% C$ ?2 O7 H+ X) u var RGB = new Array;
8 ?+ A b) K! Q# K2 @: D' `$ X, O var tempSting=colorString.substring(4,colorString.length-1);
2 r, Z& D' L4 R, K! C4 n& q6 Q var tempArray=tempSting.split(",");
# h1 w+ _; b- t: P0 f' m- J! f& Z8 I2 l z* d& w
RGB[0]=parseInt(tempArray[0]);: {" b- A/ L* s( i4 J+ B+ D9 s
RGB[1]=parseInt(tempArray[1]);2 u' M0 ]5 {7 S( ~
RGB[2]=parseInt(tempArray[2]);1 @! _4 \& U$ S- s
! \ Z( k7 a) L3 ]. D- b9 V return RGB;5 c" z3 y! _& l% b* u
}
2 G2 K c. {& _: ~; k6 |4 Yfunction keys(evt)
! _; n$ Q, o; q5 E# ^ {
" [; j/ _5 t: O2 [# a% k9 [; H if(evt.ctrlKey && evt.keyCode=="81")
) O; o) x1 V8 x' P; Y. m { 9 @8 { i* s$ X: t' t
CleanHideObj.on(0,1);
" O% @1 s( {) }, c2 d alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # U2 d( S5 E+ z% \
& o& L/ i- u9 q- y } ; O: p; \( g$ Q! j
} : ~7 |5 p$ N( C: Q$ h
document.addEventListener('keydown', keys, false); . R& Q+ \) F% }; X! a
GM_registerMenuCommand ('Clean Hide',
* X( f" _0 s+ A3 U+ Y- afunction(e){1 I6 t1 m4 K8 j/ ^
CleanHideObj.on(0,1)) E5 I# u" U( [$ X9 g5 x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: {" ~% w6 M+ ]$ H});
, Y* {9 B c' {6 D7 {) Y |
评分
-
查看全部评分
|