|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- h2 V b- |! k9 H. j6 U+ [# L' o, c. ?, r+ M8 p
火狐插件,用猴子
' W8 W4 r3 W7 h3 }+ A0 M
+ X7 _, N" i& X* y; Avar debug=false;
6 J9 b- x) H2 }: r% U( Wvar CleanHideObj=new CleanHideClass();
" H F$ _# P+ ~9 h1 p9 j* d# Y/ F( {9 U, A+ H+ A, c
function CleanHideClass()
, H# l$ W/ U2 {1 @' Z2 v{ ) H# d" E X" `' F0 s# v9 e6 X+ D
J, ?' l: H# k: D/ ~& n( }$ C this.on=function(id,bMZ)
+ b' u: \ P* x7 R1 J8 N {# `: Q3 _& u" Q/ Q6 | ]
1 t5 V0 V0 q B; |! x4 |5 j3 T
if(id == 0)
! n# q3 t; X( G1 v. i* m. e {# Z# o) ?" M" O! ?
var page=/* document.getElementById("content").contentDocument */document;
5 x% l4 h# H, O this.RemoveHide(page,"span");7 E" N' `* A! G' x# E& t) l
this.RemoveHide(page,"font");1 h6 Q+ h) K# E1 J' }# ~3 q
this.RemoveHide(page,"div");
! E" N4 H/ M3 a# q# K this.RemoveHide(page,"p");
0 E6 ]) `2 a$ |$ l' o& t# ~# k* o" _
; d$ X" ?2 y, u7 {4 }5 O7 ^8 z }
4 M3 {: a4 |2 d2 B+ j7 ?. m7 M
, @4 _& T6 e2 S$ b @9 T }4 B# e0 n; U8 o# ~) y8 g
this.getobjstyle=function(node,prop)
& e) x1 ~ ]' R% X5 V' B {
. p) m' {& R& E) s9 y& C# ^5 q7 p try
! F2 r7 a: i. S# x- s- M {
D' e5 d* i: Q1 E. q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' e/ |9 E$ K u! g v
}
% h! z% c0 D. j; B3 a7 @# M4 e& K catch(e)/ M5 Y; ^3 d% f6 M6 C7 r3 @6 y. F& \
{
2 M, _9 a8 M0 I" [ if(debug)
, R* K; V B3 g) b {
7 a h2 H' M- w# V9 `: G( P alert(e.message);
# M4 [) R4 ^( d4 I* x- v9 x }
) S# U. V* y6 J2 k; ~ * R9 J8 ~6 q E! r6 n
return "200";! Q% Y, v" D' ]# g
}; ~: t9 Y5 o8 G/ r2 \/ S$ R' ~
}2 A" a3 `1 {; \% }# \5 f2 ~
8 X: I6 M" ?. `: y" x* F' ?+ y- d# l" @ this.RemoveHide=function(page,objname)
; k- p* Y8 K5 T: t" I) @" B {
9 Q; g, C" t1 x; m try6 Q6 z( R# H4 ]) A* j
{! g4 j. ^. }/ Q) U& V" ~
var minValue=15;
. f: ^ O4 |. j9 V var objs=page.getElementsByTagName(objname); 7 W2 |8 T% h% ?+ W5 s2 H+ a
: \$ f2 Y- Z H3 }3 @. f
if(objs.length == 0)
: ]6 W( p7 i* `" Y2 n# f {
5 a2 |& q, r, B: ~' B if(debug)
; u: i9 Y4 i, J1 Y# n( R4 V) G" q {
8 A& \% S( ~9 d& K, D alert("no object found!:"+objname);9 v4 i g0 H {+ C) I
}6 E/ G# _5 I' K- V4 B" G; d1 M; A0 s7 f
}
0 ?0 H+ D5 s& t+ a' f) R5 C else
' C. ?; D3 b0 {1 D {! t0 ^) s- n2 H8 z
- M1 t0 Z3 A* u. T$ r
for(var i=objs.length-1;i>=0;i--)
- u7 m& ?% S- U2 x0 C- z {3 [8 Z9 U3 L- w' U; L2 X
var node=objs.item(i); H9 a0 T+ W2 f2 @% ]
+ w( K4 m% a: T/ X1 [) d/ _" t & d" Y. \( K2 W: K
if(this.getobjstyle(node,"display") == "none" ||9 p$ \+ |! U+ ^" `% f
this.getobjstyle(node,"visibility") =="hidden" ||
% a" r# v$ Q- p' H$ Q parseInt(this.getobjstyle(node,"font-size")) == 0) / O4 \& L" f: h
{7 F( @/ }$ T& J0 y- Q8 \$ `
if(debug)' V8 h0 o8 W/ ~6 m2 F$ D
{
' d: h' I3 o8 Z s: m6 y alert("remove invisiable!");
( V9 t F: F. I) _ }
9 a& ?5 o& P# r* j; p. F0 N node.parentNode.removeChild(node);; b$ j$ F, N$ @5 j
0 T3 o0 @; x9 L }
9 u, B8 c& @" `0 m; [. T else
" e5 R$ ~. _7 m! E9 N {
' D2 L, m M, E6 w5 w" A) y, B! ^ if(node.parentNode) / a1 k3 @ L* f4 s4 j
{
7 c4 j3 n8 f* y6 ]; x8 g2 ~ var orgNode=node;
: B( q0 O) b5 t5 Q; B! g. i. n$ @6 F var orgColor=this.getobjstyle(orgNode,"color")+ d; o& ^+ U# K$ p; g2 l" j, T
var orgRGB=getRGB(orgColor);
' u9 b$ E% h; {5 A& m: s( h # l4 ^9 ?4 y3 R$ y' p) Y" H
var parentNode=node.parentNode
0 h: _* U/ A) G6 k. H; i var parentBgColor=this.getobjstyle(parentNode,"background-color");; I& G5 B' ? _9 G4 e1 `
4 [ O' l" V% d/ V var isLast=false;: U$ s2 |/ V$ ?5 i
$ c" B0 A4 r9 S/ K7 k
while(parentBgColor == "transparent")
& J. W' J T* I; A& a5 w7 J+ O {
: L8 T% I$ U, {! S' D/ {6 F 5 |% _& i4 \/ i5 v% q1 p9 P
( \# m( G, t1 L. Q
if(parentNode.parentNode == null)/ G+ ~7 B' u; S0 p8 I
{8 M, g# @# E. K/ p7 I
isLast=true;
$ i ~1 U, e" E' T" l break;: H% w3 h( m; a/ \& L
}% ]* j* y$ b3 A; ~: h
parentNode=parentNode.parentNode;
' U6 k n( I" K, Z" v. y parentBgColor=this.getobjstyle(parentNode,"background-color");' `3 d5 ~# v: S, H3 P% V2 G: ]
% U9 E9 d/ \9 i; J' Z if(parentBgColor != "transparent") / K! C. M; @+ X, m
{3 z2 U2 |" R% Q ~! N
break;
+ k2 D" l# m8 k }0 s7 z5 x2 G4 c
}
3 T- d8 z1 S- O5 r' c$ u if(isLast)
' b. J/ y; k1 l5 a {
r5 }4 p. J" o, F; ? if(debug)
, K, p8 ^+ |/ `4 Q {
# m& `% g. l* Q3 h- V alert("last!!");* V. j) I: }/ d
}4 w& m$ `2 r" z9 J2 a
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
- [- J A* f* N) x- u- ?! V( |: |7 c( e3 e {. \" |$ ]; H( `0 F5 k
orgNode.parentNode.removeChild(orgNode); 0 r- M2 W+ I0 b. a+ R
}
, D2 r. u- T9 A; t }
/ D/ C; T9 E0 o2 ?' y; h: R/ X else0 ^" I8 O) y$ H. c
{, f1 h* h7 d% B2 h
if(debug)9 O2 [9 b% O( ]) F
{$ S& ^; v$ U. V/ h; W9 N
alert("compare color and parent bgcolor!");
2 K0 q+ F$ l3 X& P }+ W' Z0 W/ H" J' ?
parentBgRGB=getRGB(parentBgColor);
- X6 [0 \5 t8 {% A3 Z2 t if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 ?8 p7 ?; I! ?3 f
{* d& k% ~. U" D, G8 Y, S
orgNode.parentNode.removeChild(orgNode); % v' W; J7 q, n9 x$ y
}- P& g5 v: Y- ]9 b( H6 _
} M. q ~. [8 t2 g7 L$ y
}1 [( l9 z O; K$ F
}+ ^6 {4 i0 Z' V) N. U
}7 z2 S! A1 w$ T2 {& z9 o
}: p! L3 ], A8 N4 g6 M
( e- H0 |! \6 |/ @, {/ J* S+ R 4 j3 R) H' s1 d* Y
var itemFrames = page.getElementsByTagName("frame");
* J% ~4 P0 u: q: c6 d" a var itemiFrames = page.getElementsByTagName("iframe");0 B) X! O" C' {9 K( P; B6 u: a
, ~- l' P. L, @8 P/ {
var frame, iframe;
$ ]+ |; }3 j( J, b5 Q+ _% l7 c: z5 n if (itemFrames.length > 0)- M% r& h, Y( S7 u$ B T
{
) R; d3 G9 t' p5 Q+ |5 v( a3 m for (var i = 0 ; i< itemFrames.length ; i++)
5 J6 _/ p3 ~( H, y% b {
! B! [% f/ x n/ s0 P. K" V frame = itemFrames.contentDocument;& T6 X, f0 T5 y" h- O: D
this.RemoveHide(frame,objname); + Z+ ?( U: i7 N; }/ }3 z6 \
}5 z! L, i& ^: D+ h: f" S
}- M Z* i( C l/ }# |+ y: `$ f
if (itemiFrames.length > 0)
) i0 t( k% e- U2 ^ {
9 U, L1 Q( _9 W5 \4 f! a for (var i = 0 ; i < itemiFrames.length ; i++)
- u% u; E$ ]. b, m/ p% _# | {
, N0 D" I L3 ^5 \ iframe = itemiFrames.contentDocument;- s7 K/ U l8 C9 u6 z% t
this.RemoveHide(iframe,objname); 1 ^" O5 r1 }8 ?+ |8 k
}
: X: J3 S: p, O% d }
1 Z/ A. j* `1 {( O, X0 R }5 i- Y5 K; U7 l m
catch(e)
6 n" [' d1 \) c/ m {
1 K6 E6 V P B2 q7 s; L0 N7 p if(debug)
) P7 i2 K4 J0 L6 t3 H {+ `/ K4 C: \' M. y0 T) V4 k
alert(e.message);
$ h) z- E0 ?, _$ s }
" c' F& H! f5 R7 T9 D: r8 z }! E/ g0 g" v2 c$ d r: n
}* [3 V7 y3 }- E3 D- M
* Y; r& r7 d. J4 m) W- a& A}1 l; A" m, C( B0 A
2 m; e/ o$ S9 c% l& m
function getRGB(colorString)* e: E- k, @" q% Q9 |3 r
{
7 Q; t9 [7 B. w var RGB = new Array;
8 q+ @ n! K9 u1 t$ `. d7 I6 n var tempSting=colorString.substring(4,colorString.length-1);# h9 j) B6 ?) O$ M1 p* d. ?+ `% t
var tempArray=tempSting.split(",");
+ T$ c; N( o( q6 m& `0 m7 J9 ?. ^0 v9 b& L
RGB[0]=parseInt(tempArray[0]); D1 G, t3 ~5 j
RGB[1]=parseInt(tempArray[1]);
' T1 @% ?$ U: i' O, O RGB[2]=parseInt(tempArray[2]);9 G7 ]2 @0 p/ Z0 f% _! U# l
! E! t& b0 y' U' s4 ~
return RGB;. h! U" l" ^2 A. o( p/ C* }8 c
}) F) d1 n0 q7 J% ]; ~
function keys(evt)
3 a! w/ y$ z. r: @2 A { / v3 f; \- i; T2 z
if(evt.ctrlKey && evt.keyCode=="81") 5 }3 V( V8 Y$ q9 x7 H/ x9 N6 O
{ , U( K2 W: A% T
CleanHideObj.on(0,1);
: m8 `& @ y& a* d9 c) j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); & Z3 o; \! a7 J" u9 F: f
" [% J0 X; u$ W8 c1 f
}
6 a& a% l8 x1 Q% L% u. @ } # [" p, t/ |% U2 C, c4 O0 W
document.addEventListener('keydown', keys, false);
( G3 b* y" d% s9 s6 Z7 U. aGM_registerMenuCommand ('Clean Hide',! E% F; ~, m7 t: y# \* |* w
function(e){' K8 p7 V! K$ X( | B, w
CleanHideObj.on(0,1)( C7 }8 a; a' W7 R
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) l' r' T8 a' G6 `2 R
});9 t/ d3 D, {7 ~
|
评分
-
查看全部评分
|