|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
0 C% C5 |: ^8 S# F
! i: R" w2 O* O J/ a6 u火狐插件,用猴子
3 {8 G& y5 P$ Y3 T# w1 j Y' b& L( O4 }: |
var debug=false; ' b0 f) q- M5 X- D) c$ d0 L. {
var CleanHideObj=new CleanHideClass();/ v- w$ q$ y+ Z. V5 z
" s) f' Q: L5 [. N
function CleanHideClass() 2 k, }( a! M. @( ^
{
( c* a5 U. J' ]
& u1 M% S3 l5 G; q3 P this.on=function(id,bMZ)
4 u) U' g; L2 [+ b- r {
' p9 p" o f7 j2 S5 x: X- { . ` s5 [4 i/ x5 y
if(id == 0)
. v% k z% `, g$ x. k( V {. K+ w' A3 K8 l3 c3 p
var page=/* document.getElementById("content").contentDocument */document;
: n+ }- s/ [& C( T: \4 B0 \ this.RemoveHide(page,"span");
+ I* p8 [2 \3 z3 j this.RemoveHide(page,"font");
) Y" d3 ^2 A! ], d! E( w, V this.RemoveHide(page,"div");
O9 F) `/ U% P. [ this.RemoveHide(page,"p");3 \. b) S" o" f% w5 A2 f
1 O: s( o# q. Q3 J J+ d: o( s }" ^( ~. S. }$ }1 i
8 W6 ~" W8 Z/ D6 a. o
}
" y% U% Q6 |8 \; } this.getobjstyle=function(node,prop)
5 f: T0 l, U. V/ C5 c3 q& E- I" Y {, F2 M' M/ N$ u5 L
try
& \7 p& e$ E% o# y3 C {
! a. J1 r/ j/ e+ C; C return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 }7 H4 k0 w5 O% _) D9 G3 C" d$ } }8 n: Y* a: z! u' A2 B2 V" V) v
catch(e)
3 y; Z2 }' R( s' G) L, | {/ H, c* j* v0 X
if(debug)3 W" m! d. o7 k! y
{1 J. H- f+ H3 h7 ]
alert(e.message);' V! k. k$ `2 @2 a* `% [: l% w1 g9 a
}+ Q! \2 j! e1 K- n8 ~
" j/ M! u8 Q+ ^+ K return "200";$ C8 `+ X& q a% @; m
}' H7 H* x, q) y% E- \' ^
}
. v' y/ A8 x, H, B" o: d + T. i( q+ j* s6 E# ^
this.RemoveHide=function(page,objname)
6 b. `4 ?* k/ E+ Q/ R8 p1 v {
- R, _* S$ D# I8 b5 g4 ` try" f5 u+ N$ u3 d5 Z( x, M4 x" p
{- k& B( A3 w ^) R; T
var minValue=15;
. s6 ~" n M: {2 J' K; P. H, s3 | var objs=page.getElementsByTagName(objname);
s0 o8 _/ u, @5 { _+ q0 r! v* ^' v
if(objs.length == 0)
* }5 Q+ z* K6 i# u {
T$ g; ^ w& ], Q& F% D+ q; c9 N( B if(debug)
) f! t5 o$ \; e+ ^* U& i" k/ d( u {
8 P3 O7 S8 ~$ ~$ T' D alert("no object found!:"+objname);6 v. u9 i, \6 K
}, |3 {, ~( N/ n- J" @
}/ ]; H& a0 |- l# Z/ y0 [. m
else
( \5 Q4 D! q P [0 H l" m% ~" p7 G {
9 c' N0 J6 F0 @0 C0 m $ D8 A7 A+ ?; ^' \; `& Q4 ]( G
for(var i=objs.length-1;i>=0;i--)
+ ~2 h& t+ w7 _+ M3 ?2 i {! V+ t8 s$ ]9 Y* D+ g8 {5 G
var node=objs.item(i); ) P0 x! d- f" V/ O% B( Y/ H- H
; {/ B3 e* Y: O 2 d: o! C6 |6 ]$ I1 ]; k4 p6 q
if(this.getobjstyle(node,"display") == "none" ||7 x6 k0 b R+ s# `# D; f
this.getobjstyle(node,"visibility") =="hidden" ||; E4 ^! u. i0 _
parseInt(this.getobjstyle(node,"font-size")) == 0) 0 I# m* K1 j: z$ r/ P1 X8 j
{
. o. h) q7 L" M. h if(debug), E' v7 d" l) T; ?
{
0 r6 z3 p7 i1 F' W$ g6 Z alert("remove invisiable!");
. b H1 f- J( J F) w) I& ? }6 {5 o8 I& q, a' |( t0 l. W7 h
node.parentNode.removeChild(node);) s/ z4 |- }/ O6 j+ p; I/ D
; r! K5 N& O" f' b) e2 s; c; A! i0 H }
% S- v) D! g6 L: B else + `- d3 Y4 s+ ^, v' @& O% Y7 ]
{
/ j. `) ]6 x l0 W8 X if(node.parentNode) 2 U# n4 m7 |$ |" \2 O$ l
{" {9 V; N7 H# i* l0 p2 j) v
var orgNode=node;
# |- U; S2 z/ ^+ h var orgColor=this.getobjstyle(orgNode,"color")( J% A% B0 Q$ q' l6 c; J7 x: Z, _
var orgRGB=getRGB(orgColor); 7 h! e* Y5 W( n+ [% D8 Z* b
5 U* _) n, R; C
var parentNode=node.parentNode
7 S8 h2 ~) u# i/ o% M6 z, [ var parentBgColor=this.getobjstyle(parentNode,"background-color");
* M# h' a2 W# M& D6 Q
! t' H: r G# M0 m: z' X var isLast=false;, X. ]" Q) A) H2 [
( K* @! P% ~" Y2 V# a
while(parentBgColor == "transparent")
: _+ A3 _7 R$ s {2 d5 z7 m2 J7 V: _( ?* X$ O1 ^
& a& T, H' L, t6 a$ c9 \0 F! o
8 p! Z* U9 C* W" |2 b7 o* x3 t4 V. p if(parentNode.parentNode == null)
8 }" m4 j' u7 E g1 l' M! N1 D {
* F2 a' _ K% C$ T7 N$ h- M3 q4 @ isLast=true;
5 e5 o' d' z" N/ _% V7 @ break;& B$ Q, t# ?) X. l: r: K
}
/ A4 G* u) O" ]# D parentNode=parentNode.parentNode;
0 K5 n3 G& h0 o% N& L4 X parentBgColor=this.getobjstyle(parentNode,"background-color");- V/ o. W( l- {! y) k$ {' f
/ u4 E' j4 n2 o9 G
if(parentBgColor != "transparent")
; E% R2 A" ^. r2 b {1 F+ k+ P* k- M% U J: O! T
break;
: `6 G5 P$ l& n" d* ^) k& A- e1 | }- e* C. ~' [) E3 s( t& O8 {
}
- Y& @4 L" k: U: L0 u9 S: L if(isLast)
' p( s4 W, _. P/ w1 O/ [1 p1 w {
' z: J7 I" K& p if(debug)
1 M8 b* \; t' l/ Z# } {
* m0 |* h+ L" n' z alert("last!!");7 d' [! `5 Q* Y
}
: V* p$ e: \7 _" A0 z# a+ N' z9 J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* c h" a1 i4 S V {% C3 [0 C* H3 t5 e( [- r( a
orgNode.parentNode.removeChild(orgNode); * O0 ~9 F/ U& M! ^
}
# q6 b4 l. h, ], | }0 A' y, J1 r: C4 F& R
else% }$ Q* a4 |! }1 H
{' B8 I) e, v# E5 S0 _8 Y5 A
if(debug)
. t! T M) e+ P( a {% I* M- |$ D1 p6 o
alert("compare color and parent bgcolor!");5 }4 Z/ i/ u5 ^
}$ `: S) M! b6 a* l3 ?& S0 z5 d
parentBgRGB=getRGB(parentBgColor);* h4 s4 [ R% c
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 {9 ~$ }2 e0 x! G# d$ {5 r2 x {
' g4 l# M' _1 _) v+ ^ orgNode.parentNode.removeChild(orgNode); % H- W! i5 k/ i; k: {* T
}5 x2 z1 X3 J; E1 F! V, m
}8 D+ [. J5 \$ s6 @) W
}
3 I; d, L+ u* S7 d$ w+ {% Q }
9 A+ q1 m0 r( Z3 V }# }) t, x- }) J! R: P
}
5 t! X2 z$ }* F; n
2 c% ?4 B; G$ ]3 Y4 b5 n
& W, t$ k. Z$ b3 K var itemFrames = page.getElementsByTagName("frame");
! f+ Z+ X: a1 a) q v9 h var itemiFrames = page.getElementsByTagName("iframe");2 c1 _2 s1 b8 L6 |# p- y
8 |% @2 T( \# Z$ D% V2 v3 R var frame, iframe;" x) H( T) P' S# p9 K" P: r
if (itemFrames.length > 0)
' n6 ~2 w ]+ b {
- y, j, Y' J4 x: c for (var i = 0 ; i< itemFrames.length ; i++)
6 A+ N p! f1 ]& j7 B3 X {
4 a5 E6 N% a4 q( K frame = itemFrames.contentDocument;
0 c+ s) ? U. w A/ b* p this.RemoveHide(frame,objname); 5 G* G8 B3 [/ p0 M% ^
}! ]& W) [' A4 N) u+ }
}: M6 H5 ^3 ?5 z# Q9 c% y8 y
if (itemiFrames.length > 0)$ W; }' w( v( Z
{
9 F2 Q" R4 u6 I5 m! s' { for (var i = 0 ; i < itemiFrames.length ; i++)
0 h8 \5 [/ z9 Z4 g( }5 s, Z4 f {
. s' E) t# a6 `" a: p3 ^ iframe = itemiFrames.contentDocument;
; P' ]' ~) B+ {( ` this.RemoveHide(iframe,objname);
* A; |* G4 [9 j; ~ }# f$ r2 l& J& C$ h6 Q
}. R3 [# j" Z7 g3 N( y" q
}
. _, ^/ o3 u5 M" R5 P! y! \ catch(e)
; [# w1 U5 K' b3 z+ A {8 w& X4 y; M3 I/ C d2 t _
if(debug)
/ P% P+ @& s6 x {
: f6 p9 y% @5 A4 ?; s alert(e.message);
$ R# ?. l( R! m% x }, M. b$ W1 J2 j( B' F/ f( |
}. r( C6 ?0 E) D7 m- P) d9 P" c' V% ~
}
2 o: ]$ I8 Z0 u; ?/ T2 \! W
e- t7 G4 o( q}$ O+ |+ A1 @1 I. {0 f4 ?
# O5 j3 c7 j% T( C' D T
function getRGB(colorString)
X ]6 U, S9 T& I0 \{
8 U& O. _+ w$ J3 D var RGB = new Array;5 Q2 D: ] ~+ k, i: Z# ?& N( A. ]
var tempSting=colorString.substring(4,colorString.length-1);- a( I7 h7 e# T+ l/ |+ B
var tempArray=tempSting.split(",");
4 c8 Z' w- y8 }1 m
2 O1 z/ W9 I3 n; x) K; X/ M/ d- q RGB[0]=parseInt(tempArray[0]);; @9 E" t8 a, A* c9 u; H+ W0 _
RGB[1]=parseInt(tempArray[1]);0 P. `$ P) u( W6 }5 _
RGB[2]=parseInt(tempArray[2]);6 [- Q2 m, i% u3 I" J% U n2 a
. |! ~) ~4 p" h8 k2 B0 v ~ d return RGB;
+ a: d8 T3 o# {3 s0 O6 C$ v}% Q8 W, ?/ s/ E7 ~9 q, K
function keys(evt) # n! @( B% s1 a% A l
{
3 g2 z: u* A0 W0 h+ _* p if(evt.ctrlKey && evt.keyCode=="81") * @; I9 H' K) p
{
3 L5 ~, E+ P" q$ ~1 [6 s- U# g1 [ CleanHideObj.on(0,1);
% C" ^* G- K# j8 t0 u alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); " e% d7 I9 G- _
5 M+ R1 [9 L& _% X; \$ @
}
W3 {# O( f5 [) } a6 U$ N } + Y. S& w* x; f9 n& ?- j
document.addEventListener('keydown', keys, false); 9 c& V- @; z7 O9 T+ a2 P8 W
GM_registerMenuCommand ('Clean Hide',$ w& r1 l E% n' ^! B; g
function(e){
; u* d4 H' Y2 H. f' w) e2 UCleanHideObj.on(0,1)
- q1 _* ^1 b4 j2 \- s" v; U8 b% m6 walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");- d+ G, ^. Z' }" @' ]0 D9 z
});1 i: I. }) F$ s% o3 {
|
评分
-
查看全部评分
|