|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& e8 l, m% N4 @; @2 c
: ^- N" S( F' M! A7 Y火狐插件,用猴子8 e) N3 ]/ ?& f- V, R# q( V: f
9 [# |# L1 i* z2 {0 w3 S9 Q Tvar debug=false;
+ y# R. }/ c; L' ~. ]9 ^var CleanHideObj=new CleanHideClass();9 S5 F. M, G' i
& W0 q+ [* h0 @1 ofunction CleanHideClass() " x, C E8 Z* @$ |' _) E
{ + F0 H; i( ?" Z* p( N- A
6 A. m( ?) q& h, C this.on=function(id,bMZ)9 y2 l# b0 h# Q
{! K; n9 w. G2 a b! n3 [# _! @
- `3 j# ?, M% S( `: b* ^# i
if(id == 0)/ Q2 Q5 F! v6 b( I) T6 @. C, E
{4 C) u% O6 P; W; g! I
var page=/* document.getElementById("content").contentDocument */document; ! m1 u! K& `# O% y* {3 n
this.RemoveHide(page,"span");1 p( f. L2 Q6 S/ i/ X, O P5 \
this.RemoveHide(page,"font");5 B/ U# b) S$ k$ Q+ D% I: @$ W
this.RemoveHide(page,"div");9 Q& F9 r1 S9 t( N$ W& D/ d( G. |
this.RemoveHide(page,"p");
6 V$ _ \$ e- X. H! p ' o" U0 q9 n6 F }$ S
}
4 a8 _6 l- N6 y$ G3 i1 r$ n
1 j( S' X' Q$ a3 d& z# w }
- a4 ] e3 @* o* M: l this.getobjstyle=function(node,prop)
' W" i, _+ `8 e! I k( { {
! [/ |$ Y' X& o4 k try
, t3 I! e( s4 _! |( M {
" n) G# H, F0 b/ n5 O- X return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: p9 n* C! T9 d+ F2 ]/ l
}* m; Q6 q! c' o5 r* c
catch(e)
. }2 |- a3 m* C) C" e" B: x* N {
) p% H: I9 N. \- Z, D1 |. d5 R' N if(debug)
% ~ {# g$ ]* w' [; g h) ]. } {* S) Q! Q) [$ s
alert(e.message);' t7 y% N7 p2 C& |
}- p& L: n! p b* ?
; d% g5 s- B. e. N
return "200";0 A/ Z, K' Z, _2 s* Y" I1 i2 C: j k
}4 m9 D6 L1 a1 \' ~5 |' J1 l8 `
}& D$ T6 x$ N2 k( k7 t% s
* `8 s* Z, `, x) L% c
this.RemoveHide=function(page,objname)) [3 B& ?) v7 x0 i
{
: ?1 M' t1 T8 v$ ]8 _5 @ try
y" {( O& T1 w, ^ \) k/ O* r {
, C% X. g* a. S7 b var minValue=15;$ N3 B( j& V" u/ t
var objs=page.getElementsByTagName(objname); ! h, [! t- H5 K% i1 ?
! \% j, `" |/ F# H if(objs.length == 0)
" F/ [/ O! g) j {
& `* |9 }$ s9 j9 p if(debug)! Q) T8 i: \( s: m) m3 u
{
( {5 W, O6 I" o' G2 ]& o6 P alert("no object found!:"+objname);
8 }: p) l- ^0 ~ }
: w5 P' e) h5 R }
7 o0 o8 {3 B( ]& O/ x2 O: x3 y1 S+ @4 u else
. C" R, x2 ?# W7 V1 b {; n, \2 `# ?2 _
. |+ r8 `' K! B3 N
for(var i=objs.length-1;i>=0;i--)
. G% A/ b4 `* g3 c9 U, D {
3 I0 R; \1 L% [0 A var node=objs.item(i); # Z" U- Z, ^' t8 J* g7 j7 u
4 y9 O& T4 I+ f; P6 e( s + a4 \. W- r0 E% N7 I$ v
if(this.getobjstyle(node,"display") == "none" ||
; d$ V7 o& A: l# B* R* n this.getobjstyle(node,"visibility") =="hidden" ||
8 C! n7 @" V- P' j. E3 t parseInt(this.getobjstyle(node,"font-size")) == 0) 3 g9 d" g$ E" j- {, l3 A
{
u7 _. ]8 p; R/ R+ q if(debug)5 ?1 R+ |" y! F9 m0 S3 E
{" Y) K/ ?) E1 C2 t8 X( `
alert("remove invisiable!");9 [6 X0 ]/ x4 ] E, T. D
}: {( m( i8 E y$ b% W1 I! V
node.parentNode.removeChild(node);# i+ ^8 `! {7 A6 |: M4 i
/ m y% H$ `1 M" C* | }' {* R' B* r5 j& ]
else
, K% k1 b; @9 C% Q, s {
3 F* E6 @/ H# k7 L if(node.parentNode)
6 [+ n( h' h" k/ }2 e. N; Q {
( s& n: M' m$ `9 {+ z6 m9 A var orgNode=node;
j% i/ b" P* l1 L" f0 _! X5 e var orgColor=this.getobjstyle(orgNode,"color")! t0 \% `& V7 m; E4 N
var orgRGB=getRGB(orgColor);
4 _: P. H( ]& C6 F4 z 9 r1 L9 I1 _" n3 W1 [- y
var parentNode=node.parentNode
R: N& z3 W" @' n$ K var parentBgColor=this.getobjstyle(parentNode,"background-color");) k0 n, ?9 K7 _6 T% _, v. X1 O; i
. M5 w$ x& H5 p/ {0 E7 D
var isLast=false;6 v3 Y6 o$ g i6 P; U
0 B2 h; v7 O& h/ b" Z# R
while(parentBgColor == "transparent")
- L; Z6 e6 }# ?5 n" Y {
# m' H# ]9 J c/ w4 u6 G
5 ~% O. r( i% o+ S5 e
/ F( \* G6 {. b9 D* S- t if(parentNode.parentNode == null)
' c+ `% D/ m: d& |" T3 u {
, O6 L" w- \8 P6 ^- E isLast=true;
w" _( s$ {! [9 Y% B break;& D) c. Q+ {+ Y4 H" C
}
+ m( X$ _% o5 H( ]$ ]) ` parentNode=parentNode.parentNode;6 k; @/ u. Y3 Q# Y/ A0 U2 M; T& i
parentBgColor=this.getobjstyle(parentNode,"background-color");
; c0 @! ~! Y& S; R
3 N0 x, S: H0 ?% `* ? if(parentBgColor != "transparent") 6 }- a& e% z8 z7 E! M. U8 W: n' s
{' l' v2 Z) l' T3 u" T7 _
break;
! r' q! p. h; Y1 R0 ^& k }/ P, u3 g8 J0 L( J8 v: i# ?# [! J0 K
}
; L, Q; W: z1 Q& n6 K# n if(isLast)
8 @- {- Z& j' D. w l {
5 f* j5 N% @" j/ v if(debug)8 ?' ]" |1 f$ q5 U
{" p. s: ^" D% G' u; D5 q
alert("last!!");
/ O3 }! z5 h+ n' X }
1 K0 h& S! ^7 h( H if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" [2 y2 [: H i; V; @- B9 x
{
9 m; }% O" `" d$ Z3 h! P orgNode.parentNode.removeChild(orgNode);
N0 I" Y v' m) B9 a4 ^ }& F2 d$ x; L. A, `. o
}
) y6 B: p7 ~4 ]" `6 a; ] else7 |0 s+ p! Q" d# G" v' e
{
! m, e9 U- F0 G P2 k if(debug)
8 P A, u$ z! c( h# X {
/ L8 r: C4 e+ t; F alert("compare color and parent bgcolor!");5 g) ]6 E+ h2 |4 | \
}. i: ^% _' a5 p) f
parentBgRGB=getRGB(parentBgColor);
* |7 z# M3 n# K. F! Z% m8 U if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# i0 J! ^' d e: A# ~+ c* }" ^ {; @' ]- o' x* T3 ]- o& {# E
orgNode.parentNode.removeChild(orgNode); / O. b6 `2 c" y+ n5 _8 `/ h
}
I2 ^1 `* y6 J" Z+ w }/ K1 C$ ?: `8 v6 U p- _) E% P
}
; f0 B# n& K' X N" G' j/ G0 D: d }
" a+ z, h2 c+ e" J1 T% _* Y }
3 `5 l/ i! H! g; H6 O! T, E }* [" o5 y0 V/ V, q/ J
; u4 B6 z" n4 H9 `( @ * l# C2 d- b( s9 c% U! ~# l- j
var itemFrames = page.getElementsByTagName("frame");
1 j6 p0 a1 ?8 \ var itemiFrames = page.getElementsByTagName("iframe");
- G% I+ i8 Q: Z; h: v9 g ! u* o U/ x' s7 a
var frame, iframe;" w! t6 X1 w! t. h; R/ H5 D
if (itemFrames.length > 0)
- w3 g4 S0 z2 ^& b {* j9 R, G3 G+ K4 U4 A7 y
for (var i = 0 ; i< itemFrames.length ; i++)
! P7 h& L& B( Q9 g) U' R. \9 _ {3 G: q9 |- W- o3 W
frame = itemFrames.contentDocument;# ^) W, P/ p5 B7 J1 b' g
this.RemoveHide(frame,objname);
0 Y/ j) Y& w! Q6 Q, n' k }+ L& X# F6 ]/ p1 Q3 U2 r
}) c7 r; X0 C0 H4 H/ n( A
if (itemiFrames.length > 0)' @+ v G. w- t6 ~. T$ _7 ^& q4 i% Z
{& T* o& o8 S# }# ?* W
for (var i = 0 ; i < itemiFrames.length ; i++) - B2 }8 d- S+ U+ [# b. B Y* y7 V, C
{
2 X' q a; \* R; ~' [ f iframe = itemiFrames.contentDocument;
8 B. W5 H) i; A- E/ Z8 q3 J this.RemoveHide(iframe,objname);
" c- _$ E" P H+ W( i1 t6 H4 ]% H }
: |4 l7 w" b6 y- q. I a }
9 g: i" _. R6 Z5 M7 v }
9 L* l* q+ S6 N5 | catch(e)7 z5 e3 P2 K) C
{/ r5 C8 j3 L0 N+ T R; R
if(debug)
6 a! w0 @% U# d% q1 ^/ @ {
5 f: M9 B: w( ~; P0 ^/ h alert(e.message);
/ P; f& S* k2 ]& n8 ~# K. f }0 [4 \4 Z8 z( P, f
}
) I% H0 U, g' g }
2 |0 i# ^7 |9 Z # `* [- i; F8 c. ^+ @) U
}+ E/ `- @$ n& I8 z7 D
7 g5 _4 @8 v6 z3 X& L9 _8 T
function getRGB(colorString). K5 A; B# @% _" }
{
: I8 V* A% b1 W8 y* ` var RGB = new Array;
9 [' S/ l9 x4 f var tempSting=colorString.substring(4,colorString.length-1);
7 U- l+ W: V' Z/ k N" F5 M# d6 |& M var tempArray=tempSting.split(",");
3 M% k1 E# x' j; P, O- F+ [( m1 f, u3 x8 i, x
RGB[0]=parseInt(tempArray[0]);" s0 ?' L: V- x6 _6 [9 v: \
RGB[1]=parseInt(tempArray[1]);
( n' e. Z! ^$ m3 r RGB[2]=parseInt(tempArray[2]);
( a/ u" L1 h9 M) I8 A. m6 T ! D" L. f2 N3 H' E# ~7 M- I
return RGB;, W9 I, }+ s2 j# C" ?
}
f$ ~ L; D$ g {. }function keys(evt)
: X4 E" b# ?, b) m$ U0 t& Y3 Q { 9 A" R; P3 i- w. B
if(evt.ctrlKey && evt.keyCode=="81")
2 a+ H, x0 H$ @ {
. I' n; \* H7 s% p" o, K; U CleanHideObj.on(0,1);/ s- h" f. F/ d) m5 R+ M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: V1 D5 v4 s' A* ~( B1 d4 \ " C) f7 @( X; I, `4 ?% [
} " q- M* l0 f* _
}
: r2 E0 i# w. a* L5 tdocument.addEventListener('keydown', keys, false); ' y$ z& n m" i2 k: A! `
GM_registerMenuCommand ('Clean Hide',: G9 E" ]4 m. a T5 m* H
function(e){
7 v: Z8 x; m. Q5 O6 rCleanHideObj.on(0,1)% V0 n; i% C) E( i* n; x4 X( J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) I! R$ L* g7 g/ x! T/ ^; [$ T+ r
});
. l/ X- H' j- O8 W7 H6 B |
评分
-
查看全部评分
|