|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & G5 G7 D; a/ m/ W# r6 u& P( i
/ P+ T2 p9 V) l& t火狐插件,用猴子6 d3 F9 n/ U8 R' m0 `5 f# c6 V1 s7 w
( k6 _7 z; k& \7 w8 U0 `. U5 dvar debug=false; / {( q$ g) {; h* C" Z
var CleanHideObj=new CleanHideClass();* i) t8 }& v8 H2 L
8 V/ Y3 z6 {0 Z5 X- z
function CleanHideClass()
6 @) S5 @# v5 S3 Q+ {9 b/ y{
% K4 ~/ p7 D5 s2 S, ], {+ I0 z , U2 u R: a# `6 J" ]
this.on=function(id,bMZ)7 H ]6 C; t; @# f/ ^ Q* x/ ~
{& d" l: _" k+ C* m% Q) V
4 G- M8 _( R2 {; c) q6 u
if(id == 0); F' I0 v5 S: a E
{. y. c: f0 g& u
var page=/* document.getElementById("content").contentDocument */document;
, m F2 f6 S* t% q. ?5 Q/ J" a this.RemoveHide(page,"span");
1 i# N; E/ Y* o3 Q ]# c this.RemoveHide(page,"font");" t9 G% ~, L% m, I
this.RemoveHide(page,"div");
1 x5 v+ w1 j/ Y( J this.RemoveHide(page,"p");
: v5 @4 E' V/ i% h5 C1 |. x* `' e 4 \. Y# O3 E1 ?4 O
}* N) \" O5 J7 t4 G$ A7 w
2 Z1 ~! V p* t5 a! G }9 T) V$ p! P) q6 |, y9 L; M9 D( S j' i
this.getobjstyle=function(node,prop)
6 k' s. ?2 [, ]2 D5 R { d8 d( ?+ J, _) H
try7 D) n9 j$ X! P+ T
{# b3 N1 z8 |$ d/ O* U
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ n `( f0 V7 `6 p7 {8 n1 K
}
# F8 m* X* y, L catch(e)
T6 q( N+ B# l {( g t* ]7 ?8 }( N2 J
if(debug)
$ @1 x9 h8 j; _ {. D U% v: P4 N) i/ x( F' C
alert(e.message);' [% Z# \4 |# z1 v+ u* r
}. l4 L. ?4 E2 [- L3 e
, m: L; U. x& c9 i9 U, O9 E7 R
return "200";
r4 d, N3 M9 N. h1 b }- B9 J+ Q! M9 I; K) A
}
/ I$ T4 l- f# \+ j ; p1 h4 T' F3 q8 a
this.RemoveHide=function(page,objname)) O2 Z: D5 t8 j$ N- q
{
. z0 c8 n. h% a' x try
% _7 X7 P) v* _' ]/ s {& O: x' w7 h0 }6 `7 [" [0 R6 u
var minValue=15;
" e! ~& h4 ]1 S5 w' c var objs=page.getElementsByTagName(objname);
0 H1 |2 d0 {5 K0 I8 |- a* w5 n2 \& m" A0 u7 G
if(objs.length == 0) : x2 ~4 ?! A. F# B. j
{
: o$ L" e y0 c) k: U e+ o if(debug)3 ~5 |/ X1 ]; @$ l* g8 W
{. p, m- g0 n* ~
alert("no object found!:"+objname);* e$ A+ U' H) F- ~# e+ L1 A
}
3 M6 x2 \8 R h8 T1 ~5 |0 W' o }$ O2 g% h. v- u
else( D2 B9 @& [) e& t, h# d7 \+ q
{! X, x% D& U4 z6 J. s7 i$ W& T
7 X8 b$ B6 z# F2 r n- x
for(var i=objs.length-1;i>=0;i--) " X" x# P* ]. x4 F$ d3 D/ U- K# Z( O1 b
{4 q+ ]+ U- H5 i @! s
var node=objs.item(i);
) H) g, ~- p$ D: ~& B
# N7 a5 a( j% w, g 3 g' f, x9 K' ?' O9 F+ ?9 A$ Q I
if(this.getobjstyle(node,"display") == "none" ||2 s" I7 ~9 }/ F# z) i: g
this.getobjstyle(node,"visibility") =="hidden" ||( a# W/ W. \6 N5 s- l; e4 q
parseInt(this.getobjstyle(node,"font-size")) == 0)
& w O6 w0 T& X6 C m {7 W* t, ` [9 J, M
if(debug)
6 F/ t( `! T$ \; {, s {( X0 F" K& v3 u+ ]: g& W
alert("remove invisiable!");
! A; V+ h) t3 p2 [% _" C }
9 }( |; L+ j$ L8 V3 G6 K node.parentNode.removeChild(node);" [# |$ }% p3 p/ s
- K" @' d! O1 _! E }: \' S$ D3 B" O% Z# O9 c( f R0 y
else , U6 O. H" z8 k; ?% \& m
{
7 t' O" @5 M" v A6 L if(node.parentNode)
+ X! |( m% Q! [( Y {' D: T& C! Q+ S% X* e
var orgNode=node;3 q$ p/ B% y0 }+ \" N. K) f
var orgColor=this.getobjstyle(orgNode,"color")
* `" S- F0 P$ e var orgRGB=getRGB(orgColor); $ n$ |$ g3 e# Z: K) y, @& Q, P( p/ X
- e- {7 C1 [% h8 e$ G: e
var parentNode=node.parentNode
# N* R) S! J, z$ o( J/ i var parentBgColor=this.getobjstyle(parentNode,"background-color");2 K8 m$ c1 y3 F, f* H- l* A K
! D; \" }1 R1 r( T/ d* q3 G+ {
var isLast=false;
" u5 ^7 W0 I Y6 o, C) X0 ?3 U , f% C6 G8 H3 G1 s) A
while(parentBgColor == "transparent") % B) L1 F% D G2 ~+ G$ r+ ~ X
{" }( \' q P0 {) F
$ N9 u0 }: N- f+ S" c
1 b- m: Z& J& z8 q3 G! @
if(parentNode.parentNode == null)
0 U, g0 s3 @- x9 q {4 B- ?# }7 t: M8 ?
isLast=true;
, ?' V$ x9 f6 X. F break;+ e+ l1 A4 ]: c2 ^
}0 w; h" u" h P
parentNode=parentNode.parentNode;' l+ q( Z" j. r
parentBgColor=this.getobjstyle(parentNode,"background-color");2 @) {: W2 r) m. E9 d3 x5 ?4 M
+ }, e1 ?( {7 E
if(parentBgColor != "transparent")
" E6 J1 p$ f5 t" E- T1 h! X2 P6 t* X, y {: u2 Z$ q+ O' P, m+ Z$ }( ~3 T6 A
break;7 O9 ?0 ^1 k. Y8 C5 ]6 D# V
}! {7 t3 n/ }7 Q& m& }! ~* T' ~
}
1 T; J n0 k2 K" ]+ M if(isLast) : X6 b6 w2 X; z4 r( G' o
{
, N$ r; Z* C" d/ q' N+ H0 V if(debug)7 P8 c6 `. F/ j6 L5 V1 u
{6 @2 m- L3 E5 a* j$ d0 g# N% b
alert("last!!");
, l% f9 W) ^% c f }# H3 f- L5 x3 n3 r, a* D0 W
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 W. |+ N. j3 `9 q( V
{! N" G" X$ p4 M7 m4 S0 F
orgNode.parentNode.removeChild(orgNode); : ^' {& r4 T; ?3 H
}4 G0 V7 R4 y* ]% Q. C9 m
} h9 O9 x% t% y& x
else
/ l% @+ x( x) k; k+ S( d: d) c {$ W$ f* z, s5 |/ U8 V; z7 E
if(debug)
; P2 M1 J$ i* ]5 q1 h& a( G* o {/ v" E6 J* V9 ]: M
alert("compare color and parent bgcolor!");: o+ P v$ J: K- x" D$ i1 H: b) \
}8 K- Q9 f4 }- d/ w1 I0 y
parentBgRGB=getRGB(parentBgColor);
2 a( u9 R4 U* s! t1 g& C' n+ b9 F if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 n+ N( b& F; b& ?; `4 Z' Y. F, _ {
q7 x6 w2 s2 ?& c' ?7 N orgNode.parentNode.removeChild(orgNode); . O( z, x7 A; ^! ~. J9 [
}
) V+ t' R5 Y- z }: ?8 o& B1 w1 a4 ~
}4 t! f1 C9 R7 o2 \1 y* \
}9 r. X) ?9 L- y' E2 f6 q9 @% l
}
' V) \% ?1 K# E) @; Y8 V }
8 `/ Z1 E% s! S& `* E2 K0 w8 K ( ? U4 Q9 D2 [1 C3 T8 v! D
# P. D" q# ? H9 h3 v" e
var itemFrames = page.getElementsByTagName("frame");3 f0 s" I" f5 d/ w
var itemiFrames = page.getElementsByTagName("iframe");
4 ]' a8 B, P$ X7 g K1 c % T; p" t) t1 B' A; p
var frame, iframe;- z$ u# |+ L; u* @% h$ L
if (itemFrames.length > 0)
' |: d4 _7 k1 ?8 c7 X {. S; Y" k' a% i
for (var i = 0 ; i< itemFrames.length ; i++)
4 d& u2 ~8 `* {) x7 ` {% @; o. ~: L* h) A
frame = itemFrames.contentDocument;3 T0 i1 W, n8 i# n$ N5 L9 @4 A
this.RemoveHide(frame,objname); 6 _6 E& _# e3 ?6 W W
}4 E2 e, y+ w* s8 z: u+ J
}
7 {8 N. t1 z, O. E9 } if (itemiFrames.length > 0)
3 U' v- m' t/ P- @( J: R2 |& B! E {
. `$ |( f( m1 r" V" _ for (var i = 0 ; i < itemiFrames.length ; i++)
! I( U" a( l" h0 N4 X0 G {
1 K' O |' Y2 g6 ]5 [& n; ] iframe = itemiFrames.contentDocument;
" k9 ]6 X6 V1 ^; L, Y this.RemoveHide(iframe,objname);
' V- ~! s/ m& j/ u }
* ^. C0 n( _3 X* Q( g }
. ^% b; O' f6 ]9 k/ E }! e8 T; E7 Y% U" T
catch(e)
* J8 Y" X E0 z1 N) U3 [ {
8 w5 G: i+ K# e7 E4 M* i( B if(debug)
% @0 N# G% }: m5 L" l4 r7 o {
1 O2 Z3 G7 m) H. I) O alert(e.message);& J0 s. V( n7 T! Z. Z1 a* c
}6 z; |& A3 u) [6 L
}
/ {- a! c# H- D3 K4 l }, v2 q2 m) D2 x) d3 e, f# g( [# j
' _0 b1 l; J' b/ h}1 U3 W% @" m+ f I. O7 J( x
1 z; D6 U8 O2 P; F- s6 o
function getRGB(colorString)
7 X8 S% w; K3 a3 ^ \2 x2 X/ @{) N3 ~) q) K) z- ?1 {
var RGB = new Array;$ u3 q4 Z' z( k8 h
var tempSting=colorString.substring(4,colorString.length-1);
/ j" }, _; K$ f. k var tempArray=tempSting.split(",");2 M/ u; n1 U# |: b. x( T
8 g+ i, C3 ?1 F+ X& n; z RGB[0]=parseInt(tempArray[0]);; M9 b$ h: `, ^# g3 B
RGB[1]=parseInt(tempArray[1]);
% L4 g# c* U% E RGB[2]=parseInt(tempArray[2]);3 n# K) w/ k& b2 I
( d m* p; F/ p' e* p% K
return RGB;
4 R2 Q. w- G$ `& \4 Y}1 x$ l9 G' k/ g1 x9 i0 M
function keys(evt)
1 l/ q0 m+ j6 | {
2 |/ M& B/ y* u6 |5 o6 v B if(evt.ctrlKey && evt.keyCode=="81")
2 G$ ]1 q3 ?! W {
" g# ]3 Y; \5 W CleanHideObj.on(0,1);* p5 h1 f5 ]/ M* z. E) ?3 w! g; }4 T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 q% Y, m4 R/ Y3 L5 c( ^2 C- a6 O8 ]
# Q- Q& d: t& g' V }
4 t8 T- j3 y; G } - |' i7 v% V9 X5 j
document.addEventListener('keydown', keys, false); & K. C5 X2 B& O( A# r: q1 i( O
GM_registerMenuCommand ('Clean Hide',
, i5 }* a% _' v, I& ^function(e){
' s1 ^4 z! @' w- ]1 K5 KCleanHideObj.on(0,1)
+ w* U2 {- }! I( R0 Xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ E8 r* [9 _+ c$ N' e; J' \});
/ R; Q# L+ n G# b; J- C& U( f |
评分
-
查看全部评分
|