|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& p5 e& t. I' f. S
) F& d# _ H% Q0 V; |+ @0 E火狐插件,用猴子
% Z' b: m5 I$ F; C3 C: T7 c @8 {; M7 ]
var debug=false;
9 E% b2 V! h$ h3 m( w5 H& q, svar CleanHideObj=new CleanHideClass();
& d# K! L9 i, d. o- U5 [
9 u( A. i4 X7 b6 X. Pfunction CleanHideClass() ( U# f. @0 G) t: p5 p: i6 U
{
2 a# ~, i2 d, v1 E% r) E& ~6 o / f* d' h2 P: Q
this.on=function(id,bMZ)
1 c y4 O: R' e {/ j. |" ?8 @6 _
8 ^. x* x% x& i+ s4 b8 v if(id == 0)% L( r' ]" W9 y# f
{8 X% ?2 y6 m9 g$ f
var page=/* document.getElementById("content").contentDocument */document;
) X3 v. I( t: N) ]. s this.RemoveHide(page,"span");) _8 B* F9 n" G9 J1 G
this.RemoveHide(page,"font");
9 i4 Z, s. D5 `8 j' D this.RemoveHide(page,"div");
% ]& x+ P2 s: Z9 e this.RemoveHide(page,"p");3 k6 K) T# R1 M- ~0 j) M
+ @- w6 z" v! W1 ] }
: d8 I! M& U: X2 q7 c6 K' e6 f( a3 y
# K6 |% o9 ]! a- l- _/ b! o" y }
E. } }5 y* C' L; f' c this.getobjstyle=function(node,prop)
# u6 W# E" h( D; G0 U {
/ G5 q; S& g; G5 ~ try8 L5 o3 ?9 j5 {
{
2 X- p L: B: Z% z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 H' U! N7 m/ N( z, N1 D3 m }3 }- R3 I# V4 ~, N% |+ l
catch(e)
8 t j; F% M8 i! ]" ~ {( c1 k( w/ i8 i7 I+ A+ o
if(debug)
6 n1 N* D z& x* p' g; Z {
e0 k6 y. r' { alert(e.message);' Q# \; y) } }' M6 l2 \; L' B
}0 P3 x! T9 @1 \% N, e
: X1 o. `+ I' Y( \8 z* x return "200";
6 e+ v; V0 G B/ h$ A }
: s( k0 ]- l9 e }4 H6 J, h) V+ T% t- W
7 O! v3 ?7 b' o% q
this.RemoveHide=function(page,objname)
& P/ F5 u! w' X2 w {
6 J! h, S( A5 `1 _( Z9 f try+ P& }& s! u0 J% G ]5 D
{- o2 S) q, F' O9 ~8 [! k
var minValue=15;/ H+ G1 K8 p/ R t
var objs=page.getElementsByTagName(objname); 2 O. M& F2 Q0 _# c
; X5 _5 i% [8 `3 g: T if(objs.length == 0)
6 d' ?+ j$ Z8 z# t {$ b# G6 C& W# k1 a
if(debug)
0 g w( ?% F& [7 F' P {
# P) X: U y; w5 a4 ? alert("no object found!:"+objname);' X, Z% T* S) A# U
}
: l9 M& x6 m8 d6 ]. X }. c3 v6 D; @# p5 u2 A
else
* I" s0 S5 h. x, ~& i( d o {
. d& v" J9 A+ L" p( N( L) w& H ( }4 V2 B d% E1 g# l6 \
for(var i=objs.length-1;i>=0;i--) / |+ U0 k! V' E$ _( E" A8 ^
{2 x5 Y" X! T) q( X
var node=objs.item(i);
3 t* n: V$ r% [, \1 j+ l
' C* e6 D0 p) C5 S3 \ ( P7 P0 K5 K, J; \' ^7 c% `! n" Q& x( Z
if(this.getobjstyle(node,"display") == "none" ||" w- @* Y, _3 R
this.getobjstyle(node,"visibility") =="hidden" ||& ]- k! b6 h/ Y0 ?1 u
parseInt(this.getobjstyle(node,"font-size")) == 0) 0 G7 X* G8 A: C6 {
{
. n$ o6 H+ ~- f5 a: X8 W if(debug)
, {8 b9 q5 v( O7 M* M {- U& g: F9 I( X1 p
alert("remove invisiable!");( I9 P: c2 E d# ^! m4 z6 j/ D/ I0 E0 t
}: w2 r8 b9 ]3 k. M8 a# R2 h' V: j
node.parentNode.removeChild(node);
) l2 Q1 @% |+ m7 o0 j6 \8 R; `( d
, Y- _$ }9 V- }8 V F }
2 Q. x' x6 F7 ~' e+ ~ else
7 A( l2 P. C+ k# ]2 H% {! s {) B( Z3 p) O% [# {
if(node.parentNode)
$ E+ f( c, {; ^4 i" p; K# d4 O" H {
( a# \7 x2 m$ F0 P6 G; ~( U9 A var orgNode=node;' W6 t+ \ d# m$ M% w: r
var orgColor=this.getobjstyle(orgNode,"color")1 J$ j( a/ H$ x
var orgRGB=getRGB(orgColor); ! \9 t* p" L- H6 U# ]" h; O
8 [" z5 c5 c& y5 C- P( j/ v6 M
var parentNode=node.parentNode2 c( z' G! g' ]0 w5 y7 ~, L$ i
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( \; N3 I/ T N
" S+ j: H7 J( s var isLast=false;
% P% m2 f: ^5 x( d# q7 z ) ~ ]7 _, ~; w9 h- C( ~
while(parentBgColor == "transparent") 3 |3 C! L/ X: |) W
{' `- B+ @4 T- _, G) K2 ]6 g
9 p6 h6 V! ]# R+ n m' w7 ^) J6 h 0 W& t/ x, X, i. b5 ?
if(parentNode.parentNode == null)! y" ?) A% J) k: I' K, E
{
. Y0 I& Y: C' v8 n9 j6 T- ]- z) D- ~ isLast=true;+ @8 I4 h& B: a5 L% G, E
break;: b7 ~" @6 v' i( S Z' t
} ~. t* u; r- k/ O
parentNode=parentNode.parentNode;; X7 ]# M* B. m! D
parentBgColor=this.getobjstyle(parentNode,"background-color");% | }* i [. A* j. F$ L
( `0 u6 S( Q0 h
if(parentBgColor != "transparent")
* C% i+ J2 Z, V4 _- Y3 H {
/ J/ D; |1 D: B1 W break;) h6 M# J8 |! j6 f& L! s6 _
}
- N+ a& F+ d5 i+ {! ]" C. \ \ }. N4 l/ Z# ^# J$ W7 m+ R3 _
if(isLast)
, l/ T0 Y$ B% v' P {
1 J$ o: X; [" J: W+ d1 B if(debug)
1 |7 f* p* p5 i" ~. c {$ ~5 {# [- a: c
alert("last!!");
! Y5 p; Q) M; r( ` }
2 D4 X7 ]% v# S if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ `" x9 p- t3 d! u3 i
{9 g2 n- X6 W- m; L7 U3 V1 K
orgNode.parentNode.removeChild(orgNode);
$ `# f# }3 R$ v& L }
7 O; |/ L, A9 n9 U# S: \1 \ }# B: a$ M! H* r6 y2 u
else
! n, l: z% I2 p: k+ f { g" H4 m/ C! V5 ?4 h) S, b
if(debug)0 ~" a0 Z! `9 D6 J: o4 ^
{1 l% x! B, G( h0 w
alert("compare color and parent bgcolor!");8 n+ J0 z' h6 ]2 x! F& w7 [
}
9 b4 \2 Y8 W2 ^) _ W/ [ parentBgRGB=getRGB(parentBgColor);
) C1 N1 A% s- p7 y8 s# h, h1 G( U# K [6 B if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 Z/ Y9 w$ s4 k
{/ q4 k, K8 A# J# h1 K6 d3 k
orgNode.parentNode.removeChild(orgNode); 2 {1 c" x: h, b! {. l# b3 ~! H
}+ P0 W. k9 D% V& N$ v
}" |/ R2 X' j0 b1 K' Z
}
! \" _0 g: M" o( S( f& v }
" l0 j6 d% F0 o }1 l/ o( R; ]6 ]1 ]
}
; A) S2 z/ ?; y5 g+ P
9 i* l5 w* o1 Z4 {7 X$ k& @3 m
% u k" G& L5 Y; V8 s var itemFrames = page.getElementsByTagName("frame");
# A: N1 B% X1 j; {7 s var itemiFrames = page.getElementsByTagName("iframe");
% o! k; ?/ H d1 C 8 n" {; P' b+ n0 n3 g: V
var frame, iframe;
O. n3 K S6 j9 o5 `! l if (itemFrames.length > 0)
" O3 T# }" P2 m3 V' Y% z3 I# s; X {
* }* F& |9 p/ `6 H. ^# F3 B6 }, U for (var i = 0 ; i< itemFrames.length ; i++)
8 Q- ]8 E8 B" q { ]- w* I+ @' g3 ?7 G
frame = itemFrames.contentDocument;
3 C7 R/ {5 C$ ?% T: F ^ this.RemoveHide(frame,objname); 7 G/ Y) z8 a+ M2 W3 f+ e z, u! J2 R
}, v* f1 c2 s8 o$ n) n
}9 d& {7 R7 K6 h- h( L2 w
if (itemiFrames.length > 0)
: |$ o E" X8 B B1 }' d7 A! u2 y {
+ K- j. G4 j7 t8 p4 H" U for (var i = 0 ; i < itemiFrames.length ; i++)
* H7 ^- e$ S3 F: F W5 K$ R9 C9 z5 { {
* o; d+ \% e; Y8 m4 J, A0 J7 v iframe = itemiFrames.contentDocument;
5 K1 f! O3 g" h8 D! } this.RemoveHide(iframe,objname); " D# D& z: d. a5 y9 T5 [: Z) m
}* R i# |: f+ t* O
}
; l5 s. \ [" f6 B9 Y1 w4 Y }: z7 L4 G/ f( L
catch(e) ]* R' F. `5 [* e4 c
{( |0 w0 j8 a- x$ ^: ~
if(debug)- `2 g( W; @$ b0 N! f1 g0 t
{
2 Z% l0 b* Z. e alert(e.message);
4 }$ O+ R, Y. [5 l+ R }- Z9 `0 ^) `+ @9 _# H
}
" x c2 p6 H, Y. v' ?7 @( R/ g" _ }/ f+ w( f9 m+ Z' A% j/ v: H
3 y7 q( s( Q+ k5 w9 x* P! Q- B$ ~}
1 ]: x4 _, l% m7 H( Y- O2 k6 u$ W- I
3 z4 f0 H2 l6 g# Ufunction getRGB(colorString): u6 [8 [& \7 Z1 N/ I F% g
{" W X: q6 `) T# m) @& N/ P
var RGB = new Array;$ b4 o0 {5 c' @# d
var tempSting=colorString.substring(4,colorString.length-1);
& J7 b6 U1 {6 B var tempArray=tempSting.split(",");
% G/ ^" i% j" w+ l0 d- B& |5 M% W4 D4 t
RGB[0]=parseInt(tempArray[0]);/ F0 D: c$ w: a9 X3 S2 g
RGB[1]=parseInt(tempArray[1]);' ?7 J: q9 ?8 C4 V- Q( s
RGB[2]=parseInt(tempArray[2]);( a" x- E0 R/ k& @' C
4 }; |& P$ ?5 i" N return RGB;& I R9 ^, r, L$ |
}: t3 J1 S" v3 W) Q" D9 I% p
function keys(evt) 9 P* K- d. e$ z/ O/ N
{ / y6 G z/ D* `+ G+ [: L
if(evt.ctrlKey && evt.keyCode=="81") ( A( m- k2 f$ U @. y: z( d
{
7 g! U! ^. l6 Q, N7 v' h CleanHideObj.on(0,1);
0 `; R% m I7 F3 V alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! a* w, s% U5 V6 ]7 ~: H' x
/ w; ?; j6 g; R+ i# T$ g } # ]6 p% ] a/ v3 `1 I& B
} 3 l2 T" J- G; Q3 Z- r: m3 o5 I
document.addEventListener('keydown', keys, false);
- |0 Z v' W5 E& P+ g: gGM_registerMenuCommand ('Clean Hide',6 r& ~- K6 J: \$ M/ w, M
function(e){
" `7 i H$ T) m5 KCleanHideObj.on(0,1)6 H9 {, }: i+ Y5 U+ X. u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 B) p- g# p5 B4 e});! E& D) P; R, H3 Y6 k
|
评分
-
查看全部评分
|