|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 V; w8 M# c o: n9 @0 W
4 A3 {: d1 `0 D; X; q. g1 Y火狐插件,用猴子7 @8 K2 {, l% O2 y: f6 k% d
5 C' e5 f- ~0 ~3 l: U2 T3 q/ G" Xvar debug=false;
1 D5 W/ b+ ~+ ^, Bvar CleanHideObj=new CleanHideClass();2 P& M- X" m- ~4 y! m/ I! K
$ F0 s; L# s+ p6 @; s) P
function CleanHideClass() % ]$ `: Y: R* M i: t" H
{ 4 R3 Y3 k5 ^2 `8 I$ v
b' R# x, n. K: {
this.on=function(id,bMZ) f6 i; r* f+ G0 \4 W3 y' q9 f# }
{9 P5 C2 C4 l2 C
; A5 X- B9 p* W( D3 \4 G: }
if(id == 0)- n7 O. l: G1 k( o) P
{
6 t9 W+ n4 _, F! U4 T var page=/* document.getElementById("content").contentDocument */document;
: [% t8 p' ~" f3 v9 b this.RemoveHide(page,"span");! X( X. @3 \3 q, R' O% G% @
this.RemoveHide(page,"font");# j' N0 e4 L4 U/ F) B8 {/ \
this.RemoveHide(page,"div");/ U/ E/ ^( I2 m: A& n/ n
this.RemoveHide(page,"p");! ]3 D! }& T& i* D
& h# _; R, s. {# k
}
) A4 H& b( H1 k8 D % Z; S, A4 A4 Z; X
}
7 A3 h {- Z2 L% n; b1 \9 n9 {* t* x this.getobjstyle=function(node,prop)
/ k8 J: g2 s+ D2 i y4 A6 w {- b& M+ L7 A5 f! M1 |# v9 M
try+ I7 U' V! R, E0 j* x. [7 _& `0 A9 m
{: u/ ~& y5 @% K1 a
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' s! R; l" S; N6 A
}0 P$ F- G( R1 K7 W
catch(e)3 e# A5 R: s: {1 m/ p( f2 B. [
{3 b+ v- |7 k/ b& U$ M% q
if(debug)$ n: P4 U- B4 r/ r) n
{
5 F) R$ @" D+ E C: V0 Q alert(e.message);) V3 J0 V3 y0 h) }
}
4 c9 U" c* S* ^3 e
& a1 B" [; F7 K/ v return "200";
9 C$ n% e: u8 c2 _6 o U }' L0 ]% q/ _, p8 k
}* ?2 {, ]4 n# m+ ^7 e; |) n
: N- E; h! O& N+ ?: E- a5 V this.RemoveHide=function(page,objname); r+ Q) Q4 G" s' s1 R7 M R0 q( K% V
{
8 I: m4 `8 c. j: w* \8 P# u try
* V( h' g: L J, _( e/ ` {& }' p2 h4 k9 _* u9 f+ W* q
var minValue=15;: e: Z6 y9 a* Y
var objs=page.getElementsByTagName(objname);
7 F9 |5 g* M) d! P# ~; h6 I. ~0 L; n4 P. j2 M' }5 ?( ?1 |
if(objs.length == 0) 1 _) S# w$ i! w$ ]0 t, Y
{
, `( l2 }$ i2 `6 g' Y if(debug)' \: n8 J" h* |) p- y" f W
{4 b' ~9 P+ P% G8 k* k) A0 j( w9 J
alert("no object found!:"+objname);4 X. M, Y Z- h4 C! {# @! q
}% D4 g. G4 F. U* Y- Y6 k9 Y
}
2 U% N: Q- q' K9 N2 f+ |8 E else
5 D3 W. M9 P5 }& `& S# p2 I8 j; C {
7 s- z; T2 [8 B$ D! H
" e- E3 F z$ D/ d6 q+ g( p for(var i=objs.length-1;i>=0;i--) - w% u: f& F% e; J4 R
{$ d1 Q+ x/ r. s+ b1 o w, f4 Z& t4 }
var node=objs.item(i);
1 M% B$ |" s7 @8 n1 y) d* o
2 P- t( W3 E; B S4 a8 C6 t, ~ , E4 X5 s0 f; Q( C7 v! H6 _
if(this.getobjstyle(node,"display") == "none" ||
0 p& z& l9 V7 E9 R! H; ~/ S9 ] this.getobjstyle(node,"visibility") =="hidden" ||! @3 p; K0 ]& A- f/ _
parseInt(this.getobjstyle(node,"font-size")) == 0) 3 Q6 b. o7 ^. r" _
{
$ N+ U, E9 Z0 ~) Z1 b if(debug)- E2 q# R6 v- M! x
{
' z1 J$ N D2 @& g% \% Z/ G alert("remove invisiable!");
2 b8 c& u& t% }# }3 z1 } r5 _ }3 F+ X+ }7 |9 _9 }; ^, T) M% O
node.parentNode.removeChild(node);, t4 u* q4 d0 O/ {) s! H% V+ o! G
" G$ p. P9 X6 J- g% g1 I. |
}$ t9 C! q% _. C+ r( g
else
. r1 `1 N- I' ^4 { {
# I+ i1 Z( j% O7 _9 o8 y3 B if(node.parentNode)
" i3 C3 Z' H2 |; k. Q# g3 Z {6 z# [9 ^ Q, |. A# H5 D: {/ E
var orgNode=node;6 t3 ?/ l: \& O& j: E
var orgColor=this.getobjstyle(orgNode,"color")* z5 V) I8 m* B, b2 E* B
var orgRGB=getRGB(orgColor);
) O! k# F. X) h' @% S 6 a$ z1 N" z q9 \% {0 W
var parentNode=node.parentNode3 y3 x! W4 w' a0 ]
var parentBgColor=this.getobjstyle(parentNode,"background-color");( m, ^; w$ f* r( o# b3 [
; y. J0 w9 a. E! [) H var isLast=false;) I" Y7 g N; X8 m2 z+ y: R( }9 z
, f8 o7 o3 z. U4 ^+ {3 f" |
while(parentBgColor == "transparent") ) k% q- ]0 t8 g7 I3 ^- |# f* D
{
2 b, U; p9 ?' k7 ^; Q
1 }! @' K W: h8 B9 I
* C' t8 h1 S9 X8 _$ [ if(parentNode.parentNode == null)
3 }/ {9 m9 P7 N- c {$ J1 o h3 n- m( _3 _
isLast=true;& h+ w J# p8 H( |
break;
- C5 V% X* e9 E4 Q; |* T }
/ V. }" V2 s9 p4 W t& n parentNode=parentNode.parentNode;+ x8 O* e( S. s: B$ C% A3 x
parentBgColor=this.getobjstyle(parentNode,"background-color");* N. ~6 @: ^ p2 ]( ~/ H0 q8 D6 H
! f( N% i _7 K1 J; z1 V
if(parentBgColor != "transparent")
4 x* k0 i+ L z2 N- }. ]$ T {
' G7 t+ h9 o" y' z5 n( L break;
/ \9 I/ a2 E* i. J I/ N }! g( G- B$ t6 F3 C# T u7 M1 \3 f
}! Y. _; a# T. K- J% E/ ]: y* h
if(isLast)
5 n) h/ G# J1 {4 C' d+ o; N1 { {
( ]/ ?+ f' |+ e" z _1 C* v/ O$ I5 z' Z if(debug)6 }! A: p$ W, g! ~/ y7 X7 R
{' `8 @4 _. i7 t. y
alert("last!!");
6 z0 W* ~2 H9 ~* {. ` }
v W( P+ b& S( R if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; S$ M* E8 V8 l {+ l% `; k9 v) m- l G* y
orgNode.parentNode.removeChild(orgNode);
) |7 R2 ^/ ?" A5 t$ r3 }4 B }& M) K1 q% a' W7 C' a/ D9 b
}
4 |4 e: `6 t0 E7 n! ?4 i else. E' l# h. S0 X3 K
{
* u+ } W9 \& N* \ if(debug)
9 j6 J2 S. Y3 w# x$ T9 Y: L7 Z {
" L2 d2 C: }! p8 \- D0 h alert("compare color and parent bgcolor!");, d. x9 f2 b" L O8 l9 S" D
}$ M% ]% b% _3 \0 u& V, K$ m* C6 _* T
parentBgRGB=getRGB(parentBgColor);
& S; A, J* h/ H. O% a3 Y0 v if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% x. b; d/ _) d* N8 G6 C$ W
{
; ~) x* Z. t& H: R6 A8 E. X ] orgNode.parentNode.removeChild(orgNode); - ]5 |- G. ^# ]: {+ {, R h. b
}
7 H R7 Q' ?4 n( Q% G }
3 f, k, z+ z7 ~8 L$ k% Y }
9 I& q y2 d* I( g' B }! x& }" I& I- G
}( U* R2 n% D% _
}* o; K& v2 q: K- K
$ w# y: M+ t5 ^! {/ s: g) v
% J/ ^ H5 G4 t; o+ C var itemFrames = page.getElementsByTagName("frame");; u$ X# U6 q6 K5 n" }. n3 N
var itemiFrames = page.getElementsByTagName("iframe");
9 E* Q( d+ }( [& |: p. i
6 C) ^2 _# x' W3 R, K+ b var frame, iframe;6 F1 V _: z! s1 K$ m
if (itemFrames.length > 0)
" Y7 m# L4 L2 v/ d4 u2 r4 h {
2 _7 T' V" g; U' p! ^3 a for (var i = 0 ; i< itemFrames.length ; i++) 9 v0 D& |8 ^2 }8 x; _
{- Q( Q: U" p8 W/ k5 O! }
frame = itemFrames.contentDocument;
9 \2 T* S' }5 G# n8 A: y this.RemoveHide(frame,objname); ' ^/ d4 t) \5 E" f( P
}! L# s3 ]7 [& B
}
, }2 F1 g$ z: a: G6 [7 h. } if (itemiFrames.length > 0)2 G0 D+ H# o" A9 X
{
. Y+ I- ^; `1 R/ M2 {; a for (var i = 0 ; i < itemiFrames.length ; i++) b" u! Y" h& J* l: v( i6 T
{
* X; z z! A( ?" O1 E& c) v0 ? iframe = itemiFrames.contentDocument;8 t* Y5 V4 S9 z! D( X
this.RemoveHide(iframe,objname);
# y$ a; C7 ~: g! z: W2 [ }6 \9 L% a! ~5 o5 g! Y3 _
}1 j& P: W' B+ N7 l
}( q) T& _! q$ V' c n; v- `+ |
catch(e)
9 [* v0 S! P9 g9 a5 s2 u7 h {
* y& q: N+ |; Z2 [7 L0 {+ h- z8 ] if(debug)
# D, _8 k" f' _. W2 G {
: ~9 P% q3 A9 ]" r7 V7 O4 i: L alert(e.message);
& k" z! d) `% F/ e" E) c }( b2 l c. p5 K. `. u* @0 z8 ~8 | k
}
7 v" O1 ]" n+ g- v6 F }6 u! ?% V$ j: _3 H
) i# \4 q# Y1 R0 |}& T; E" @ e. P# k) }$ {
; j& _1 I6 L6 @$ ?. L5 D$ A; _
function getRGB(colorString)3 k3 U5 C8 U( J( C4 c$ \, ^
{
% x2 r2 ?6 {6 B0 }6 @ var RGB = new Array;
1 W% B9 k$ W' e$ b var tempSting=colorString.substring(4,colorString.length-1);
9 i' L; p7 S4 H. N8 m$ X) Q var tempArray=tempSting.split(",");- C9 j4 E$ T6 z& T0 ]& o9 Y% l
5 \$ [4 r2 b/ w# W2 V1 @2 k7 a RGB[0]=parseInt(tempArray[0]);3 c: b% J& g" |8 s, v
RGB[1]=parseInt(tempArray[1]);. }5 J: C' i. X8 n8 F- n
RGB[2]=parseInt(tempArray[2]);
- y2 _; \" u. T0 E + i7 S* f) X7 v. u; T( ?
return RGB;
5 t! P6 m+ p$ `1 h4 `; I}
& S9 Z4 T1 O" e3 f7 Ifunction keys(evt)
1 d; P. h% e2 `4 ?7 [ {
_' p6 K+ q; j$ n if(evt.ctrlKey && evt.keyCode=="81")
( R) [8 p0 ]1 \( m {
6 c/ H. u# l: O. ` CleanHideObj.on(0,1);
/ ~" ?" V2 R' z+ m1 \' V alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! v$ Z; @0 `! U
4 v x9 v) a+ H+ X
}
' K4 J7 ?+ l) W# E, A" `$ _0 R } / d3 M+ C! `& R& K7 Q C
document.addEventListener('keydown', keys, false); 7 I! B) s$ x3 ~' {
GM_registerMenuCommand ('Clean Hide',. H& X4 o1 C+ \; i; G
function(e){' y+ M0 ?7 G7 y$ ?
CleanHideObj.on(0,1)% E5 f1 _: ?9 m( o0 I" R5 s7 d0 G6 R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) |9 ?2 i4 V( }2 E
});* A# x6 f; {: F, \% U
|
评分
-
查看全部评分
|