|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ( m; O) l4 I% ?' r6 f
$ ?5 `3 W7 p# F5 R( y6 W x" Q火狐插件,用猴子+ ?$ b$ U. @) N' v5 ^: W
7 }, ^# J6 W0 ~% H+ D
var debug=false; : @8 R2 `8 {2 {1 L
var CleanHideObj=new CleanHideClass();
( u5 r3 U- s6 f
# d5 @) q: S& d. N# a$ H: X' Lfunction CleanHideClass()
4 _# N( i. K n4 N6 z) K( r{
$ L, N8 ]( s, e6 }4 L/ Y
6 l. v" j: D H2 m* S this.on=function(id,bMZ)* b: @! g& m* K( W' U6 B- [. b
{
! y I, @ ^ f/ ]% i + B4 \4 K6 S2 t
if(id == 0). a) q; a4 v7 _ u% P2 p! r1 G
{0 B6 k" C$ D9 J$ Q. T3 ^( K) [. l
var page=/* document.getElementById("content").contentDocument */document;
, F; X/ p3 Q$ E$ B* \ this.RemoveHide(page,"span");
9 g3 J# E ~' G9 ?' D' J$ X( L this.RemoveHide(page,"font");/ Y# E6 c+ |0 @, g2 {$ [! S
this.RemoveHide(page,"div");6 @) l4 y) O4 q$ E
this.RemoveHide(page,"p");' r2 p- m, U/ S: S+ M
3 e& a7 i/ {/ J. |4 {
}. s" t" m0 f$ H! a
|: [+ \' c9 ] n, } }, o" D; V3 w5 s+ ?! J9 `
this.getobjstyle=function(node,prop)8 |" i5 Y4 K, S; n2 c' P) M# g/ C
{" w$ K [# U' T7 W. B6 b
try
5 }5 ` X2 p/ t. z; G! T0 P( Q1 t {
3 h$ W p/ j' C" J4 J7 } return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ O K& G9 g4 B: B6 x- k- c }% |% M6 }5 e- ^( b, f- m
catch(e)+ _. D4 m. k+ _# a# f$ I
{) Y: ]" t- ~/ W) y" d9 z
if(debug)8 ]9 j5 O0 k/ l3 m. b; n) m
{
. y7 S: A/ t% O% x+ ~ alert(e.message);
3 s9 M5 ~, C- F1 ^& q }
. A- Y/ Z0 ~' f, K
! _3 C' X; r: X# M2 c% I5 o return "200";9 U/ `% T0 C8 o0 g2 ], f1 Y( D
}- m1 h. j8 f& c! p
}
) M: i* M0 e, V, Z% U E+ G8 @. d! u# n6 n; q# L
this.RemoveHide=function(page,objname): k# W" ^) S t) l; l
{
: A; ]- k9 g; ~2 G" s | E try
/ h; H' W9 x- p: h: D {5 g E4 Z2 g, T% S
var minValue=15;
9 ]5 a& j8 i& g0 H2 Z# h$ w var objs=page.getElementsByTagName(objname); 2 x4 B' I% c' w
& \! V8 R4 p. o. X4 q& J! d if(objs.length == 0)
% c( T7 e/ U2 Z" T! m {
$ u9 [ V5 k9 L* R9 z, T/ o if(debug): l+ E4 L2 o/ j! }0 Q" N; u( U) o
{
0 u+ m# X. H# j, k6 Q alert("no object found!:"+objname);; } ]% N$ |* }
}/ W' P0 E9 H* M! _3 i+ a
}7 o) Y2 W2 M" \: w
else
3 g2 L" T( q- B1 z1 N- _- U9 ~2 K {* ]- o( y& M+ e3 R& i% A
5 x# K* E0 O2 v' N- O: p' J9 Z
for(var i=objs.length-1;i>=0;i--)
7 l7 q y: \7 t1 y0 d1 ^* r {
& [, G# p+ q. C0 s3 u! r var node=objs.item(i); & J' i/ u1 y6 _ ?) \& ]
4 j$ ]4 Q" P8 Z! o% Y4 u
2 z/ h l) o4 F0 A- H' R3 | if(this.getobjstyle(node,"display") == "none" ||
( d7 Q* W. W" I5 t/ ` this.getobjstyle(node,"visibility") =="hidden" ||
" _ [. {) w9 }' b2 i$ }' Y parseInt(this.getobjstyle(node,"font-size")) == 0)
% j6 `% t+ Y* G4 P {! `; l$ M% t4 ^5 D9 s
if(debug)
) p- c: B z+ a$ P( L {
3 u8 @. \' ~5 t& I4 _$ I/ J( E2 r alert("remove invisiable!");
7 p; ^8 e% N( i0 b }) z1 B+ {6 q+ {/ M9 n6 ^6 G' X
node.parentNode.removeChild(node);
8 [( @1 P1 Q1 z: Z3 j9 a8 B
+ o5 s6 B3 y" g+ {! {6 o+ A% h }; R* R; J3 R7 [, m" c# t
else 4 H6 F+ U! e6 n$ T+ V5 i2 K& R. F( q
{6 k* F3 O! ?2 N( a' |7 p
if(node.parentNode)
( u: o' K0 F2 A3 l m {: q( x. F7 g! }' K: J9 S1 e
var orgNode=node;" V8 s/ q0 U+ H* S
var orgColor=this.getobjstyle(orgNode,"color")9 T! Q% ^9 C6 D
var orgRGB=getRGB(orgColor);
% U1 z' a* Z- p9 P- `
# w# N6 @( H% [! U var parentNode=node.parentNode
& |2 F) _- P1 O9 ?$ |2 K' l var parentBgColor=this.getobjstyle(parentNode,"background-color");, u, j, K t( O9 ]
5 z9 B$ {' S- k+ i
var isLast=false;1 Y W" |7 U9 B2 w
3 o5 m9 L7 k& X: w4 S
while(parentBgColor == "transparent")
2 P q! r- i5 D' L {
6 b( z C9 r% q, ]
% f% F6 h& r( H8 G4 c0 O, W$ Z; p % f8 O+ v( d" H l
if(parentNode.parentNode == null)
: J0 u$ ^ m1 D. A {. [( }; r- ?0 k! C% a7 x% P" y
isLast=true;1 L8 f, p* g+ v# n
break;. u5 J! E# T1 M3 { R
}$ p! e! B% ?& d: C0 x* V
parentNode=parentNode.parentNode;5 u B# M8 ?. z8 Y8 T$ g7 C
parentBgColor=this.getobjstyle(parentNode,"background-color");
5 z5 l! Z% ^/ [, f& x' |& }) I& r# q/ R. {9 w( a# S# O! E
if(parentBgColor != "transparent") ) } [" i+ z2 i( w
{
* m& P+ j/ T# R break;) z; i2 `. c4 a' v [
}
, V) Y) b( P4 M1 j' L5 i }% M/ M$ v( }3 W/ F2 z' K
if(isLast)
/ V# l$ ~4 C1 u ^" V! ?0 o {* T' U `8 ^+ M* P( K
if(debug)
" e% r2 \" n& ^! x {6 {- f. e0 W! T. p" {4 \; K [" F
alert("last!!");
: X5 {1 }) o; D( V B }
8 Q* p1 {2 H1 K$ W* _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ |( l1 M i$ b. n$ c
{
5 Q# w7 B7 N/ t) l5 |4 e orgNode.parentNode.removeChild(orgNode); - a2 d& J: P. _" _5 |& v2 |
}* F; f9 d" L7 N. o
}
: r: `, M/ z" m% c% Z) |0 i# G! A else
) i& Y i, K2 P. l# k" o z {
7 J( n, K3 u) `- i+ X if(debug)* ]; ~6 O/ h6 @5 Q h
{" }1 C/ Q8 |% _6 f4 Y# ^1 S: J
alert("compare color and parent bgcolor!");3 k# R7 F& g5 y6 l: e/ J5 G( \
}
; f" L3 b5 n& j6 D- w parentBgRGB=getRGB(parentBgColor);
( |! j6 ~, T+ |8 \ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) C5 `& M x4 F8 t+ z2 K
{4 d% M$ w4 O# _: o. Z* o5 _
orgNode.parentNode.removeChild(orgNode);
8 K! E5 z T7 O! U/ ~" L }; ?' C3 P2 E4 W
}
# k) K6 x g) i( }$ n4 y# k" F& J# [ }5 |- S3 O! m' e
}' K8 O2 P) M) H/ b5 Z, Y
}
7 B" c! j# s6 T& `2 s/ c9 [ }
" P9 r9 l1 L8 W; s8 a 5 ]" ^! F' z* a( \5 x) M
# ~- ]; i% w/ Z C& b& c$ u' {
var itemFrames = page.getElementsByTagName("frame");, u" o" f1 L7 B5 h+ Y
var itemiFrames = page.getElementsByTagName("iframe");. ?/ l8 M: d; G/ o" q
% |$ Z T7 t. d. c* ?& z& ^
var frame, iframe;
) n8 X" ^: G4 j: {0 _7 d$ ]7 v6 A if (itemFrames.length > 0)
( |6 _' s* f& ], o# H& h- [- K {& k. p# S. U2 u% ?$ O
for (var i = 0 ; i< itemFrames.length ; i++)
3 m8 e# ~6 j7 _; z" W1 a: r {5 [) ^+ E0 B9 `& T. w0 r. M C4 D; n
frame = itemFrames.contentDocument;) D1 J5 s+ g- y1 b. |2 `% f3 h! G
this.RemoveHide(frame,objname); ) M2 u7 x# y0 `6 A# [ i$ b
}
) o/ h) ]: o' e }5 b! k! V, I' X) A) s& \; a: N* L
if (itemiFrames.length > 0)
* {1 m; q. Z7 n) K2 x# S d {- |/ ?- d$ }1 z- A& F. S# Y
for (var i = 0 ; i < itemiFrames.length ; i++) 0 j* k* P+ ~! B2 G# ?) F& D% j4 d* F7 R% s
{
$ |& x! E, V1 x iframe = itemiFrames.contentDocument;
' H/ \% z9 S4 M: Z this.RemoveHide(iframe,objname); |1 u" c1 |2 Q& k
}
3 ^: J( ]3 m1 }% s: x" \ }
1 t- T3 P) G' v! J' ~7 A, k }
7 Q, o8 z B2 y+ o ^6 x catch(e)
. N7 W* U8 R" A- A* k" Q {) N0 _/ W, J9 X
if(debug)
: v; f T* B6 o' Q" c W, c {7 c! j5 ~* p$ D7 z
alert(e.message);, t* j# Y* w e H1 p% c% Z) k
}1 \5 D$ H( S4 ]
}
7 m) V9 o+ p9 H5 Z0 q* O* [$ S4 R }
8 c3 l2 g9 p/ J
4 |0 V) C" T8 C/ c8 N- i6 V8 x}
3 I/ Z& }( E6 g3 P
' C1 P0 Q+ h' i% V1 Gfunction getRGB(colorString)
( F; ?. x) c# |! K2 N6 r' `! C% j{3 H# Q6 X/ V$ R0 j4 M& _4 E3 w
var RGB = new Array;
% v# b" n9 L: A4 T$ @ var tempSting=colorString.substring(4,colorString.length-1);2 J/ @" W+ t9 E+ x, j7 K5 ^
var tempArray=tempSting.split(",");/ B4 F% k% n0 [' v* l- {& w
5 a) h# Y2 q! V
RGB[0]=parseInt(tempArray[0]);
6 x7 p, P$ l- ~4 a! a RGB[1]=parseInt(tempArray[1]);6 t s! k$ {- R# C8 L3 N
RGB[2]=parseInt(tempArray[2]);
& D" L; {2 \4 G4 W+ Y6 `" I$ o: ]
4 G% b2 }! x: r9 Q0 A" G return RGB;: o9 I, L# o5 F. v. s1 o# w
}% c) A6 E) b3 R8 I6 T
function keys(evt)
, o4 P _" L+ {1 J' N {
- _1 J% g8 z6 B8 Y% B" A if(evt.ctrlKey && evt.keyCode=="81")
) f6 O& u' D4 o6 K {
. N. [6 j" A" Y( d$ i, @3 x3 ` y# Z CleanHideObj.on(0,1);
0 j% u' A1 g. f* U r alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); : F. b( _$ q! X/ }
3 { j0 k D" ^! K3 V, ] }
9 U1 t# B1 ]% X }
/ j) c" `2 y+ \/ n) J Xdocument.addEventListener('keydown', keys, false); $ K0 l& k7 @* u R2 Y+ _& _7 o
GM_registerMenuCommand ('Clean Hide',4 i# o/ G. Y3 J, G5 f! a8 L
function(e){* }# ~# P$ U) t+ m: \& \* N
CleanHideObj.on(0,1); `; @- k$ d9 N# z* |) r( L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 |' f \5 K3 Q4 K! D2 F
});& {; k/ B# M+ z8 O! t2 `
|
评分
-
查看全部评分
|