|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 U: H$ V) ^8 [4 u( T3 r: g5 `/ n
2 s+ Q9 E: b5 @( z) p; b火狐插件,用猴子7 f4 Q) j$ m1 X0 ] d
3 w: W! O% c% @, C6 q' h
var debug=false;
9 j2 N+ X9 R% E5 A! A' Gvar CleanHideObj=new CleanHideClass();
% D2 J7 Q9 k/ {% \9 b' k/ W9 { |4 |9 \) I. {; q0 p) [
function CleanHideClass() / M7 _1 o+ Z% r* c M
{
% ~; X/ U, }/ O0 J5 ~( j2 W0 v8 t 8 m! Z: w, d ~
this.on=function(id,bMZ)! k. h% j2 T& Y8 `/ B) F7 F
{% Q* q: R" e8 U% ~
, i% c4 b; r$ t% l8 |, J. d if(id == 0)4 C; X0 v- c' T2 ]8 A$ g8 j; j1 ?
{* n I1 L- }% u0 P* q- E7 {
var page=/* document.getElementById("content").contentDocument */document;
+ O5 R5 ^6 N# k& F this.RemoveHide(page,"span");
& A# Z( X% y! C( |( ?$ c6 Q$ U1 i this.RemoveHide(page,"font");
# R' W7 `7 j/ e* r this.RemoveHide(page,"div");# O2 \) C5 `+ A* s* [: }. d
this.RemoveHide(page,"p");/ p; K% U( o I
- h- H. G4 y' N! ] }
* [; `8 m3 w" B) B+ w
5 v9 ~6 h4 j8 A+ s }
- j! d3 d5 Z! y y this.getobjstyle=function(node,prop)/ B+ S6 [8 `8 O2 K" a* x( o1 p
{ b" m" X* M+ v# X; N" V6 W' R
try
8 k: d' j3 V" t8 f$ @ {; h( o* [3 a: k b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' y a/ [ n( ^4 ]* L
}+ t) y0 r. \" [9 a. Y
catch(e)
# a) m9 U/ ?# v1 | {
# L$ N4 @# D% ^) l1 z' R& s if(debug)
( D. A% w" ?) e9 f! _ {
- a( \/ A7 s$ M) `6 N, A2 B alert(e.message);9 [- D' H1 F" v& [8 q# ? |- q
}- t# N- k& g5 s: [6 ^. p' `$ W
" a, p8 S* s, [ ? u" L5 g1 O return "200";
- U3 f: R+ i/ d }
- S9 p; g+ I+ B- `, D! l2 [3 _/ _ }
' Z8 v2 y& K3 Y0 O2 Z6 m& p % |, p& A! Y; ^; u
this.RemoveHide=function(page,objname)
* c8 ^( }, G/ t {
% J8 C# _" J6 ` try
+ t' h) J( x* L/ A {* C6 C( l2 |( U& a# _
var minValue=15;
) P7 v4 F R8 B5 U4 v9 | var objs=page.getElementsByTagName(objname);
* x. z4 C* U% U \- S) P7 H; W$ M: o3 S, l) J4 O
if(objs.length == 0)
( g! `8 G% V' S, z+ S, H {
1 g: o9 Z$ U0 D0 E8 V if(debug)
/ _) K0 D. D1 A8 h; H. u {
! W* D- p; e. N- W" o- B8 V alert("no object found!:"+objname);
2 C9 i: x9 }! F* D1 Z0 [: t0 q* h }: n$ p% k- Z7 p1 J! K
}
/ Z0 H3 Q" }- m h( n else
( F: I: j6 w, s d2 |+ @ E {
4 ~; p; j5 K" T1 G5 Y$ q, x8 x2 A
! u/ z/ o7 l" P* ~+ j2 r for(var i=objs.length-1;i>=0;i--)
1 j. D+ H. e' B- r' x {
# h/ Y: _* l# A) Y$ g# Q4 p2 Z7 ] var node=objs.item(i);
, y0 y9 G: a6 K5 ^8 C" S3 Q6 B" p
+ ]$ {4 s$ m4 g1 l- r# j5 ^2 ^
8 G; c3 f4 \7 S+ y$ E# | if(this.getobjstyle(node,"display") == "none" ||
# j2 b7 g! v! K% p) ?! h this.getobjstyle(node,"visibility") =="hidden" ||: @3 ~+ o. K" E: o# `( l% a
parseInt(this.getobjstyle(node,"font-size")) == 0)
0 q+ w! @3 b- C& L Q( w {# |% C! H& V. h9 ]' w: t6 w6 B
if(debug)( f3 Z1 g2 @# M* C6 L) u# a
{
q* |" c- \" L& E1 U alert("remove invisiable!");2 |9 ?) I' U! H7 L' m9 x* r
}% A/ W0 l, J3 |8 i! S
node.parentNode.removeChild(node);/ m. B9 o" U, V- z. D- S
9 X& i3 h/ q0 N: I3 U4 U }
8 p2 \! T( R. z2 J7 H" \% n else ; ^3 n% M& h$ |9 I1 U: c6 k
{9 ^7 a! h( w+ z: a B
if(node.parentNode) $ {. x) u% U. D- R
{
% g; e U, O9 O7 V var orgNode=node;
% o$ a4 q. r/ I0 I var orgColor=this.getobjstyle(orgNode,"color")
: b% g d/ Z& P% q. Q# g$ y var orgRGB=getRGB(orgColor); / \5 s, s9 Z% s/ Z: d/ _
8 p. n# X3 d8 I$ y4 v7 w
var parentNode=node.parentNode
+ M! C+ }4 D! b8 A4 I0 }9 O: E var parentBgColor=this.getobjstyle(parentNode,"background-color");& N& ~( o+ H* J& c' a9 |3 r
5 X: y/ c9 R0 C3 ]& I var isLast=false;( S* l9 ?4 q6 r; X" m6 l
7 j9 _7 T/ e8 y$ m while(parentBgColor == "transparent") 0 \8 B: o* A1 X9 k! S! j
{
, z1 H& ^8 y5 V" R7 k
& d9 b8 I9 S+ a' F # u$ z+ C9 N8 [" q! N7 G6 N8 b; Q
if(parentNode.parentNode == null). T8 _9 W" @' E: A& i6 Z" _% N
{6 [! y L# Q- E1 y$ n9 z" J
isLast=true;. ~( X, z* ~, k/ h; a/ C; @
break;
: l2 g5 F" a4 r8 M! i% q' i7 j }
# U; g4 O9 z* h9 N parentNode=parentNode.parentNode;
1 V8 u; `& ^2 d6 R parentBgColor=this.getobjstyle(parentNode,"background-color");
7 J% K4 I: ]/ J. |6 u
3 z1 K( k! K9 D7 W, h: m8 k if(parentBgColor != "transparent")
: e0 B2 A+ P* X6 t {+ A; ?& M+ ]& g K( b
break;9 ~8 x$ B6 N, d# N
}5 A& D4 @; i6 F: O/ O' ]
}
( e, \6 `+ J$ Y* y9 U5 Y7 o( W/ G1 } if(isLast) ( N; m- F4 R0 }3 l; z4 Z3 H
{8 d e; y; C6 p/ P+ \- }( F
if(debug)' w0 r/ l" V8 p9 P6 h7 ~5 }
{
/ A8 o$ [8 K4 P/ A; V- O7 }$ ?6 [ alert("last!!");
3 `; Q {) s# b# f0 S }$ C# _; J7 J. _9 o/ j* B
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; i- s1 `4 J: j2 a* J& {! s {* j8 k7 U/ z4 X' W; w) ]& o5 B z
orgNode.parentNode.removeChild(orgNode); % {& h V4 \! n7 y4 Q5 e
}" Y* z3 r4 }7 v
}, C0 X. d& z& @$ Y J/ V" y+ S* X1 g
else
1 D& ?& E3 {1 g- d6 t {
$ Y& t# X$ X- C- j7 A! h/ g if(debug)2 K9 m+ C+ K+ D' A9 e k
{
3 _9 g6 d6 L0 h1 L3 n: o alert("compare color and parent bgcolor!");3 y$ @! m+ V- ]# m6 q
}( O0 c& q) W5 M+ c* T
parentBgRGB=getRGB(parentBgColor);
% w, c K( ]+ X/ v5 U if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 d$ z1 y! M0 s& G1 V {& ^, O4 L! H1 h# {7 v$ }1 [
orgNode.parentNode.removeChild(orgNode);
$ i# b/ G9 ~ Y }
6 s3 I/ H) D2 e+ I% ?+ h }# c6 J4 I" w3 m1 i" [
}
7 D1 m6 E% t; e$ g8 d0 j }
4 c8 J N& L$ v' e: S }
# J* D7 c! R2 f+ ~& w |8 u }6 v$ y5 G# y5 x2 o! r$ Z1 {
6 Y; [& p. O% v- ^; y2 S' K
$ K' K- O" K& _ S$ ~! c1 m7 L
var itemFrames = page.getElementsByTagName("frame");3 Z! J# c2 E4 j
var itemiFrames = page.getElementsByTagName("iframe");
! P6 m! L( I9 s8 h' N
. m! i8 f* X. }2 w$ c var frame, iframe;
) }5 `; J ^$ [# a4 U% m: u if (itemFrames.length > 0)9 `1 m4 ?/ m: s- C: x- v
{6 A4 @" S3 f* G- S
for (var i = 0 ; i< itemFrames.length ; i++) % ]$ J; `" L- {) c0 N$ x
{
3 d; K1 T. I3 v9 f frame = itemFrames.contentDocument;2 Q; a; @9 a- Z
this.RemoveHide(frame,objname);
2 g* A3 [' l5 |" Z' A }& C! c- C, t/ d# i
}4 `9 A* t1 Z2 ~# d( D
if (itemiFrames.length > 0)* W4 O: e8 r8 D* x0 L2 C5 F, N
{/ r0 N0 T# j- s' A8 Z
for (var i = 0 ; i < itemiFrames.length ; i++) ! w# F, P, L( f) i8 ^/ T
{
0 n, m* u, ]+ i" J+ o6 G: b9 [& p: ] iframe = itemiFrames.contentDocument;
0 f/ q% ?: X, ?6 ~' U) J this.RemoveHide(iframe,objname); 2 J' ~, u7 }; G2 B) n$ }
}
, w. Z4 t4 D3 Q6 P0 N }- A' b& ^& y7 W: T
}
. V! L9 R. D/ }6 j catch(e)* L8 ]: g6 e. M9 ]; }7 z
{
3 c9 s/ Z3 _* r" R if(debug)
4 O6 q( c( V# M7 K {
. `; R0 Q5 L* v0 J8 ~3 @& f alert(e.message);
; |7 K$ T5 Q0 _9 ]4 O( z7 X& E } P8 K) o% R/ y; G
}
) k6 K- W+ y& I# x0 I k }, j; s9 A7 p( M( ]$ v
8 A3 E8 M3 j5 k9 k. v5 R6 F7 X}0 x# H: v. i/ f6 `$ K% P; a# w! C' M
1 a" |7 ?, |4 {; n( A7 {3 d* K/ M
function getRGB(colorString)
+ a6 k$ _, }. B$ p. I8 z$ }{: B$ f) m" A T! Z% g
var RGB = new Array;4 h) i9 ]% y2 @
var tempSting=colorString.substring(4,colorString.length-1);: A6 f" `. R" L/ g1 G) I0 J
var tempArray=tempSting.split(",");
5 r5 k) l+ L2 }- a
/ {% W5 `! }! t RGB[0]=parseInt(tempArray[0]);
?3 K( t8 d2 C- ^ RGB[1]=parseInt(tempArray[1]);, B' \' K3 m2 m; G( A& t
RGB[2]=parseInt(tempArray[2]);; x3 \* D4 M) n1 J3 c* l
6 L9 ?5 W( u& Q$ A( F7 N" G
return RGB;
5 K8 c$ O( S6 o, q}
5 g& j4 I& {* r4 T7 o$ L+ Hfunction keys(evt)
/ j, a2 S5 D8 ]5 ` { " \3 T; f+ a& B/ o
if(evt.ctrlKey && evt.keyCode=="81") 6 H: Q9 D5 h0 d* y2 Y% \
{ $ \* ^. i$ o7 J$ Z2 R) Y
CleanHideObj.on(0,1);9 i8 L' x* g' R1 r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, k; ]% f( v% X* |3 K3 Q6 o* Q
3 A, b& P( z/ g' L } e6 c, W# v: V1 b
} - Q T+ B. X6 M% l. [# F
document.addEventListener('keydown', keys, false); 8 j0 ?9 J" O9 D+ ^3 I& w) [
GM_registerMenuCommand ('Clean Hide',+ Q3 X p, @# l `& q1 O) A. D
function(e){
0 Y: a3 j3 J/ j. c. GCleanHideObj.on(0,1)
) X5 d a# _7 X; t8 s# Balert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 r% c7 C* ]* b% A" J# a
});
2 D! z Y$ U! ]" R9 M |
评分
-
查看全部评分
|