|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . H- i7 a* r$ p2 Q! p0 T$ t
$ Z% k8 }( i+ ~ L5 s1 C
火狐插件,用猴子
7 a+ [$ ^: u+ Q6 n1 i( |+ k* M" T8 [6 c
var debug=false;
7 y+ t# C+ k% S, Z+ G% Ovar CleanHideObj=new CleanHideClass();
) l/ e7 k% O- j( H7 l% E" p1 q7 E& D$ k1 v
function CleanHideClass() 6 k- ^! k" _9 \8 k Y n) w0 E+ \
{ : \& H& B/ q* ?+ [/ y0 v
: V$ G) D. t6 r: m( y. V9 k1 x( { this.on=function(id,bMZ)/ l5 Y5 {7 g. M4 u* I" p6 V
{5 F, ]; _/ O) t1 R! x( n+ z, d5 a
6 O" O1 J" L- J! E4 D! n
if(id == 0)) Y) N# Z- L0 ] _
{4 V( g' n J5 q- Q! x9 |5 [
var page=/* document.getElementById("content").contentDocument */document; - r1 I& R' U" R; [( H( D
this.RemoveHide(page,"span");4 ^& j: c9 d4 X, @7 c9 K
this.RemoveHide(page,"font");
& p: [5 q8 x" d& p9 v- N this.RemoveHide(page,"div");
+ J8 J D4 y2 P9 w5 Q this.RemoveHide(page,"p");
4 S9 X* {: o& F; s3 M6 t: y! b
: {- V) T1 J s+ d$ X7 w- L/ O }
, d( N* i2 ]/ B1 X$ @/ }+ F
7 |7 S% ^+ q" g# Z }
6 S% m% Q2 {9 Z2 J A1 `5 O: r( Y& j this.getobjstyle=function(node,prop)2 |) S6 j8 }. d8 d4 G
{6 ^0 {5 H5 x- ^3 l+ {8 v
try! e# ] E3 b. b% i$ J0 C
{$ S# c/ O4 i$ V i0 |8 \+ e2 o' Y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
P# O3 Y/ o4 o3 }6 r% L }
+ H8 M0 y: P# ~6 G+ b catch(e)9 U- \6 v& n/ W3 n/ \9 K5 j
{
6 U7 p+ |0 b+ {6 ?3 D+ |, j7 \ if(debug)9 l4 F) M1 ]5 x& G
{
, T- x: z+ u9 p$ k* u alert(e.message);
/ X" u+ I: [! T/ B6 o }7 D- l7 J1 y$ R) R, r5 e+ P7 _: E
$ z" D; u: {5 ]7 J; f
return "200";
$ x) s5 T |1 N }
2 f& M- y( w% f: U U }7 [5 b D, Q# R9 s
7 R7 T, Q" Y+ ]1 e ` this.RemoveHide=function(page,objname) _) p$ [( ?1 T! {9 x- s
{
7 t9 ^3 W- D: [! Z# d6 j try8 i* c( t7 u' \# Q. s
{. B3 Z3 ?* v% z8 g: _
var minValue=15;3 g2 F; o; _: @4 Q% b6 U
var objs=page.getElementsByTagName(objname); 9 o+ k" ~2 h6 i
) D4 f' P4 H! c' _0 b if(objs.length == 0) ' }! a+ K* X X( s/ Q+ s
{
$ L5 _+ f( ?& s) x1 e. z if(debug)3 z3 o% j# U1 _& }+ Q3 n9 s5 @) z
{
) ~; p, f8 g5 F; z& |$ D; H0 T) ? alert("no object found!:"+objname);
`9 h9 g+ h$ O( ~/ C6 ? }
' A( ]( }% i K! j/ ?7 X }& q$ t, r( I" {, [* e0 G
else
$ c* o O6 D9 W {5 }' R+ m' t; m7 J
+ N, {; U4 f! N% P* o1 w for(var i=objs.length-1;i>=0;i--)
9 ?8 J6 T3 z" _# z8 a2 g {
) n3 y4 h7 I e4 y( A var node=objs.item(i); - `7 ~4 M* j* k g4 t; v7 [
+ C& n; ~2 _, t& Q' V
2 I$ j2 A; Z: C- x( z( @
if(this.getobjstyle(node,"display") == "none" ||3 [& k$ `2 ?: h) O6 t1 O
this.getobjstyle(node,"visibility") =="hidden" ||9 U* i- X* B6 `7 {' o. X
parseInt(this.getobjstyle(node,"font-size")) == 0) ; f2 o% B3 r0 x: Y
{3 l. Y/ b# E: e3 L
if(debug)
$ O" _# K) [6 p+ I {
; t$ z6 a" d# |! R* M- `, M alert("remove invisiable!");* F4 T# Y0 w4 l9 S! q
}
$ M6 j5 t' }. q. l+ |. O node.parentNode.removeChild(node);
: T2 x% l- E4 \( _/ M8 p2 ? 8 Q" {" W: D f' J/ h) ]- u7 T! [- I
}
( r2 |# B X: w4 `& Z else
; ~- h, y5 e/ ~6 U" P {
5 M4 c9 {' f0 a9 n, r; o5 s# U4 F if(node.parentNode)
- l* T9 X) j: N {
* F/ h# i$ U w2 M# u5 p var orgNode=node;6 f9 z0 q, K1 |0 E6 U4 A5 d# G6 C9 R
var orgColor=this.getobjstyle(orgNode,"color")% e& q: ?) F. P0 W% q4 C. C
var orgRGB=getRGB(orgColor); & {" @8 r: H; }, ]% }9 v
. b q# {* I1 x' `% B K( r var parentNode=node.parentNode
! p) l4 t$ d- {' I* h2 E var parentBgColor=this.getobjstyle(parentNode,"background-color");) t7 p- w, u( G L
}" r6 V% m5 Q, D: f
var isLast=false;9 l4 H2 h" o% Z3 h) d, [+ t q
3 Z+ i# F7 e' Y- n+ P) ~
while(parentBgColor == "transparent") ) y) R% ~* {1 }$ L0 F2 c' Q
{
# D# t! ?% w4 {3 `0 ]* x
/ o4 ?5 B7 l, a! P. o7 _ 5 b/ m/ b! j- d' H' [: w9 h
if(parentNode.parentNode == null)
6 c# \5 B8 S$ W; O# J {7 ^7 W0 v, ^( k# g8 S1 _& t2 [
isLast=true;
6 Q ^* U! _- }& y2 q6 Q% a# f break;
7 z/ d% |+ s. V9 X# Q$ X }; i( c$ Z7 S% A" O
parentNode=parentNode.parentNode;
0 P0 m* w" {1 p% {3 E: \0 h1 K parentBgColor=this.getobjstyle(parentNode,"background-color");
' \2 P4 ~+ X5 I1 I
' N, |! F( w1 S4 j- o' d9 ]& H if(parentBgColor != "transparent") ! u8 d; t4 o0 x7 ]
{
" ]' ]" S, a5 j) D; Z3 W9 d" m2 R break;. h# s$ D: h* P* N8 w8 l
}8 [9 G: |8 |/ _1 y" q+ E2 ]
}
g3 f/ u, V) w! h0 X0 z if(isLast)
% b3 T0 p& b% Q- i, q) A {
& O( ], i0 Q2 Q6 X6 P if(debug)/ U) T7 m3 K/ A- q( ]
{" R0 h* o I' b
alert("last!!");& C" ?% b) w' e( v
}
5 q' v* o0 g( Z1 W if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 N+ J- y' h2 i- u& @1 w! g, M
{' Q) Q! d8 o; @+ A
orgNode.parentNode.removeChild(orgNode); # l$ @ g$ t* n: x. p2 ?& g
}
3 [6 ]: E5 L. u7 P9 v7 `. w& {+ [- D5 j }! c* }# L! s8 C4 ~# Z
else
+ t t& p }6 n# l {+ F$ [7 [1 Y X
if(debug)* U0 U$ H" h6 e1 S
{
6 g0 W5 u/ o ^, t alert("compare color and parent bgcolor!");
- K7 ]- G/ G" E8 Y" s }
/ O( J8 I( T7 P1 {6 i! p: Z# S. y9 p parentBgRGB=getRGB(parentBgColor);
6 |; @9 {+ O7 W if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ }# \( G" h4 U( X0 D
{' x; q& L' V& k% C
orgNode.parentNode.removeChild(orgNode); + ] N7 F9 ]2 l1 u2 K
}' m0 u) k( R! B, J4 n
}
9 e+ @5 ]5 U% |% |" A- ~- H9 { }
; p, ]; u- m+ l6 t" n; i }
( I( B# E0 U4 o8 N/ v$ T2 T }0 r7 m1 ~, b; T* J
}: E- j4 q, T, s. V- Z: G
5 P. O" Z! C0 b& Q3 R/ d
- \' F2 L8 _6 M! E var itemFrames = page.getElementsByTagName("frame");
: C+ w" Y& H; }" ]0 ]2 t var itemiFrames = page.getElementsByTagName("iframe"); z @! ~/ y0 ?. L, T; Q9 m
5 j6 J8 B: A% j' y0 F2 G var frame, iframe;
& e) \0 }. F2 A i if (itemFrames.length > 0)
; x* y; |( C) l% S- J {
, m8 k7 d% o1 \& u6 T for (var i = 0 ; i< itemFrames.length ; i++) + K9 u7 O# @6 z) ]& ^& I
{
6 q, C1 P( {; o) a frame = itemFrames.contentDocument;0 D* u8 @, P* W+ m e( R
this.RemoveHide(frame,objname); 6 H4 u4 Y$ \. B, c$ y- ]# o Q
}7 r# v0 H8 t0 q2 o! n
}# S9 d6 g9 r \" k# u0 Q' s; t7 x
if (itemiFrames.length > 0)1 e. P" M5 v7 r2 h- X$ w! l
{
. _) I( a* c( w" q( ~ for (var i = 0 ; i < itemiFrames.length ; i++)
! a# g! W9 J$ ] {
* ~+ @. r0 I$ B$ h, W! i: h iframe = itemiFrames.contentDocument;
5 M) x; i/ N8 c) m0 T% u this.RemoveHide(iframe,objname); & Z5 p, s5 m- W1 G& U8 V
}$ N/ l/ F/ t8 @7 H& M$ k/ V
}' P- l5 v: F n; z# L8 B
}
4 U0 Y# z6 U/ x# H z! ` catch(e)* w. J6 i2 X# F" ]# R4 i
{/ n: c t8 N o4 m
if(debug)5 `, J. w0 p+ l0 a
{" ^5 D E' b4 f" _" D8 h
alert(e.message);4 U0 {1 a7 |% e [
}
( j7 Q$ ]3 U8 x/ ?# Q2 }3 ~ }3 y1 g \7 N# Q6 @! V" P; R5 ^( H
}2 Y. _! \% A4 L" o
$ Q, d# a, ?. X* R}
0 C3 a6 K) f5 ]" S
9 C) z \0 v6 }2 n. P6 p9 Nfunction getRGB(colorString) [( [9 K9 a" I* y) [) ]
{2 d# H" c% t( Y: f+ }! t
var RGB = new Array; e( ]# z; ~" y
var tempSting=colorString.substring(4,colorString.length-1);, [$ l6 {6 I' t: p& I
var tempArray=tempSting.split(",");
% g% }! m" q" D' a4 @. R( r) H9 ~& g: j5 L
RGB[0]=parseInt(tempArray[0]);8 k* x7 X4 m/ ~4 ^
RGB[1]=parseInt(tempArray[1]);; M) ]" L% L4 \. ^; Q" z: C. K1 ^3 t
RGB[2]=parseInt(tempArray[2]);% R+ X6 m( f& ~/ d; E' R
! v/ w2 c6 A- w' P return RGB;
8 p' d8 u4 n7 Q( r( _0 T}
) I+ p$ {5 ]/ N) P, |) n8 Efunction keys(evt) 1 H; c8 g+ d( d
{
7 i) x: U! h* u! ?0 K/ T+ e% ? if(evt.ctrlKey && evt.keyCode=="81") P3 Z3 B# f5 h3 P+ ?" Z
{ , \) w) R2 g, B) h
CleanHideObj.on(0,1);: u6 B6 r$ `* O& h+ \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, A8 c* f8 [1 F* e$ {# L s- b" g. k " o- C2 o1 X( R4 \% x. d
}
1 @+ Z) k7 n$ v" A$ y8 C } 2 |" I$ @9 k7 {+ R
document.addEventListener('keydown', keys, false); ' I, z$ t5 X7 L0 s3 }4 h# a. V
GM_registerMenuCommand ('Clean Hide',& ~9 J; N( y' K) ~/ k
function(e){
; j n2 e& g6 N$ e' L6 a7 @ PCleanHideObj.on(0,1). O' n& X" V7 `( _3 H d# b" Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) H. a. B! ~ F ]6 ~) b
});( b* q5 d3 I1 r
|
评分
-
查看全部评分
|