|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 _( @$ _$ X& ]: Q
" |* R) z% l/ k; u; Q
火狐插件,用猴子 _7 @1 J3 S, Y% u
# t" E5 V& m7 A' J |! _3 ~var debug=false; , Q8 C! t" @3 N! V
var CleanHideObj=new CleanHideClass();% b/ b! B4 f1 [8 Y
3 d- j' Z5 J9 J+ X) c* K' Pfunction CleanHideClass()
. q4 M3 @4 m! B, G. h0 O. ?6 T{ 2 l6 y7 |* [. j
% A( h+ s& S' }
this.on=function(id,bMZ)
: M& v* b! o- Z2 @1 y. u) O {* }/ C+ i. V. [1 h' H( x$ G
& j5 c! k2 v ?+ k' y% L7 R if(id == 0)& d3 i k( n2 @( [( X" L
{9 e+ b+ V- i/ m3 s
var page=/* document.getElementById("content").contentDocument */document;
( j9 x: X( P- X. t2 ?# ~ x this.RemoveHide(page,"span");' @( v% B2 }, T5 Y
this.RemoveHide(page,"font");% a4 R$ I! c. {) u
this.RemoveHide(page,"div");; F0 C! P) \9 c# s/ h, D
this.RemoveHide(page,"p");5 d8 w2 [, k" {8 P1 b0 e
& `7 O5 Y2 ?$ E, I. z }8 b8 k3 r) F i* U% `
4 ]8 U$ q+ x+ V }0 ~) f; x0 ?8 m0 l% _3 M9 q
this.getobjstyle=function(node,prop)
( l6 b9 T2 B5 C7 _- Y4 @2 l {
0 V" K _& n. g& Q3 H# L9 ^. ^ try& t# }: Q. z5 {* }
{
, e+ \; c: t+ ^; Z, X0 F- E2 N return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# P( \; A' z6 m1 ^- ^ V* p4 a' m
}
) e) k. {. j s6 \4 v0 F9 {. i catch(e)
1 j* V$ M# d( c- q" b" t# \ {
: C3 d4 J. Y' W if(debug)& @$ `6 f, t9 Q% {1 E, R
{
1 |4 m( y3 t. k+ p% F8 |% l alert(e.message);
9 @9 N* K- Z8 d5 N }/ g) N& {3 E7 K7 O8 r
0 I2 a( g$ H5 j; q9 H0 F# x
return "200";
5 }3 j% Y+ |/ E$ l: ^ p6 P }/ Q7 }; g' s& o% J# |$ E- K! Z
}
9 {0 `- R. Q) R4 j
2 ~" C5 T- _ \- S1 C% N9 x this.RemoveHide=function(page,objname)
6 o: L0 h' V( ~5 ^ {6 U* k+ v7 I0 s
try
! |9 L4 R7 h6 s8 l; N {
5 h# g V0 N5 J# t- W) D/ L var minValue=15;1 U; T/ u" W4 {; G/ s% d, }
var objs=page.getElementsByTagName(objname);
! N( Z4 p: r E9 S( M( L7 }7 _( r# ]$ p( k
if(objs.length == 0) % G* L6 Z0 P' D! Y/ V
{
, r* s$ E# ?" J: n if(debug)) A4 @) J/ _1 q+ Q/ O% u9 Y# n
{
/ }5 ^! s& X2 e8 S8 W1 m1 R alert("no object found!:"+objname);
) l" t! c/ i% b5 Z. k }
( W5 _ ~* R9 _7 x. A ? }
% B$ z8 a$ h6 K0 g else
: c: u' [2 \4 r, Z1 L { { [% W- s+ K/ q5 a
* v) z3 o n5 z3 x R/ t for(var i=objs.length-1;i>=0;i--) 2 T$ b, o* m3 {
{0 R( f% z6 ~/ m# o2 W
var node=objs.item(i);
0 R d0 {( @: s( O9 c; [ 9 N: ?1 Z) z) s/ Y" t7 `1 b3 p
, M! S2 `) A) G7 O2 { if(this.getobjstyle(node,"display") == "none" ||3 Q. `0 X$ `" b5 P d
this.getobjstyle(node,"visibility") =="hidden" ||+ H0 F9 P3 E- X6 S
parseInt(this.getobjstyle(node,"font-size")) == 0)
; }, L0 K+ M& m7 W {
6 k( g) S w" ?. ^ if(debug)7 X5 D2 L3 r% S. G
{) o* W; t! R( Y0 a' `6 f) v
alert("remove invisiable!");; k* h; _# {2 X; l4 [ f
}
8 ]: G9 Z; I1 e; ?2 g1 r node.parentNode.removeChild(node);$ e1 v4 A) P5 f' @& \
% U. e; q6 a6 k2 a. e5 G1 `# P
}4 ^/ F+ j: m6 O0 K$ ?6 _! N o- s
else * A# `9 D) P. C- J, a4 s7 F
{
' o8 M, i/ S' t5 ?8 `& } if(node.parentNode) M0 [$ G6 U2 a3 x$ a
{9 z, ]& r: d% O: l$ \
var orgNode=node;
$ P4 h7 T2 u" a, ? R3 R var orgColor=this.getobjstyle(orgNode,"color")
% _# v: O4 g! n1 a var orgRGB=getRGB(orgColor); : `- {! Z' G, ]6 l* i
% L0 f6 x6 H) Q9 y& g% z; {
var parentNode=node.parentNode
: m# _5 l* d1 ^3 W \4 u y var parentBgColor=this.getobjstyle(parentNode,"background-color");2 D' a; Z2 U! B$ O
" E, Z7 C% P- ~' J6 ~0 [ var isLast=false;
! @3 E" I0 G4 `
; a, a7 ]" c" |5 e while(parentBgColor == "transparent") # j9 I- j: G+ \" e9 }! v4 Y, ^
{
( B1 \0 R2 B4 Z. K! ~: L" j : s/ i/ [$ L" I
2 c- o- s" v) L# s+ {! R
if(parentNode.parentNode == null) q; V" R% Q6 [
{
/ I: L7 j( S0 o G& l# w; _ isLast=true;8 V3 b/ P+ S! a7 k" r4 Y
break;5 l; g: W' i& j# E1 v! W
}, a+ @0 A7 z9 E, ]( D; K% ^* ^% e
parentNode=parentNode.parentNode;& v0 Y+ ]7 `5 h( ^ G
parentBgColor=this.getobjstyle(parentNode,"background-color");
# y% Y3 m9 C& F# X- ]
7 K( c8 |% Q/ p2 d5 y if(parentBgColor != "transparent") 5 Y9 P3 F8 y! p- q$ ?3 \3 Y8 Z$ n3 p
{+ G# r$ d3 q8 K8 O) r! l. _2 j
break;
& c, U# X" q: z( e0 g8 ]) q }" q/ p& }( P. V- D7 M' {
}# o# `* K# d7 f" }- I' n
if(isLast) o3 r" O8 K/ [: `
{
9 Q* S, }% b3 @9 Y* e if(debug)* N6 s' _6 |: C0 l; e6 A8 u0 Y @7 [
{
- g- @/ N; V- ~1 g- a3 f* L alert("last!!");6 b1 f" `5 g; A+ t$ U' t6 z+ J
}. p T; d3 K( \' ]$ |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): z! t8 k" g0 e9 W* V7 A
{* E2 p7 G# ?& c- J# b
orgNode.parentNode.removeChild(orgNode);
% F6 |; o5 n: @8 n: h; E }4 i& K4 y, q, H* q# l2 c* S/ H
}, f0 G4 w" n. p" T4 o. s/ N
else
7 {6 B" Y2 R0 m5 j. X {0 E0 _5 j: D; ?4 J9 x: l
if(debug)
) ?2 }1 q4 m! L2 S. E K {' Z0 B$ k0 c8 a) M9 ]( Z
alert("compare color and parent bgcolor!");% \$ d; B4 W+ p8 ^
}3 n9 H+ }0 p% v- ?2 _
parentBgRGB=getRGB(parentBgColor);6 _& g, C. s) W; l2 I3 E7 }3 V
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% f8 T. d3 ~- n U+ p
{
0 f: Z# _2 f! `5 W9 ] orgNode.parentNode.removeChild(orgNode);
) A/ ~. c' [! h5 u \6 F }
5 B) J$ r5 j# V6 }5 p }
5 ]' q( E& H& l }
% K; T, |: l+ I }! ^( ^7 P9 D* z1 l6 B
}% q" f9 T& J2 u& P- _% h3 |
}
/ z4 E; v, p5 d; ~& J . Y: q8 I$ [. C8 l- k" o& |
! g2 E2 i) F) X2 q7 j. H: { var itemFrames = page.getElementsByTagName("frame");
# @" `' j1 v. Y3 @- l+ L var itemiFrames = page.getElementsByTagName("iframe");
& P2 Q. h$ r$ A6 Q8 v
' M6 u4 V% f4 D' f# \8 [) C var frame, iframe;
6 [; |! A$ |2 ]: ] if (itemFrames.length > 0)7 f0 N3 h, M4 p w( O5 _& Q
{" k1 h" d" V; Z3 ~! W
for (var i = 0 ; i< itemFrames.length ; i++) 9 [* u3 ?1 y3 B* n5 ?! S
{
' g1 ?% R' ~- {; U- @& |& T frame = itemFrames.contentDocument;% I: X9 |$ R, y2 ]
this.RemoveHide(frame,objname); % k! M1 W ? F. u" |/ Y/ c
}
2 {5 c% D3 V( l6 {( @1 P }
: }( B, W0 Z3 M9 z! l if (itemiFrames.length > 0), ?$ z, R( L9 S: b6 o
{6 f( u, y" a) G1 e3 P d; J
for (var i = 0 ; i < itemiFrames.length ; i++) / k1 J u$ @) f# p G* f
{+ o- v; U) f7 {( b
iframe = itemiFrames.contentDocument;
" q/ Z' Y- d+ g( N) Z this.RemoveHide(iframe,objname); & p/ R1 Y8 H: e! L6 G
}# ^! I4 K1 u7 Z2 @; s( m
}
! o9 ~& ^ F- r. W% v r }
0 [" X% \9 A& W2 n' g# m- ] catch(e)# K/ T! u% P) }+ t1 X0 |4 R
{
- W& A. Y# ? ? if(debug)& D4 _* d1 L+ Z, c/ i C& v6 n) m
{
- ]3 J4 Z R# C7 o9 N) @ alert(e.message);9 Z1 ^1 H7 o- Z' C" P# y
}+ k3 Q9 c6 t' H- x1 Q8 Q8 n h
}
( b; [5 C9 ^% F; w' ? }. `% v' ?& n$ ], F
8 f+ m _5 ^4 }5 G( L. v2 `}
; }2 F z% p" _0 T9 e# X5 f* }0 E' {# q S! b
function getRGB(colorString)
0 I2 _9 j8 _9 y, J+ [9 r" M/ F: D! z& t{6 G( D! X$ R; v; [
var RGB = new Array;
7 @4 i: O. V& R7 M5 X( [ var tempSting=colorString.substring(4,colorString.length-1);8 ]& ?& i& f. z4 d
var tempArray=tempSting.split(",");3 p# @/ e+ u) r7 b) O
% Q9 S: @( o' F# c" n% t S
RGB[0]=parseInt(tempArray[0]);
: Z6 z% s* Q+ T6 Y RGB[1]=parseInt(tempArray[1]);! z |, g1 r" G+ ?- x
RGB[2]=parseInt(tempArray[2]);
, I$ k+ u: N5 c* } 0 y, s; w, ]6 E& z% ?
return RGB;
% \) n% Z+ E" i}
( C9 [! f |8 P, a8 O6 P' rfunction keys(evt) $ w- b9 _* l* s; t8 \9 ?
{
6 n$ A1 I2 t; A' g3 ?+ f if(evt.ctrlKey && evt.keyCode=="81")
6 z& R1 ^& I6 H/ Q2 T" Z {
* c9 S, K% r1 w CleanHideObj.on(0,1);6 Y7 m& U" H: _8 u9 f7 _) a- }1 N
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 H, w; K. D3 K0 U/ r. q6 \
* T2 R2 y2 U( e2 R$ U }
( m7 C$ o# N% C6 V }
, r; L7 I! g: q+ C' Ndocument.addEventListener('keydown', keys, false); 5 I' X f x8 B$ L9 ]& K
GM_registerMenuCommand ('Clean Hide',
8 `! v7 ]0 s x" v q5 Hfunction(e){
& a" C! I& E6 e; [3 nCleanHideObj.on(0,1)
* ?. K9 N6 V1 u4 z3 I! |2 t- Talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% _6 }; r5 G& m* }" v Q
});' F+ o0 `- g" x* ^, b( }+ B
|
评分
-
查看全部评分
|