|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) F6 Q/ H8 |8 S- w' O/ `( q' y% m
( J- b' m2 j" A4 x* w2 J火狐插件,用猴子& ~* Y' v! T/ ]' Z% u7 Y+ G
# P8 ?' _( Q8 j$ Mvar debug=false; 4 U! g% k j+ \; b2 I2 ^8 g, e
var CleanHideObj=new CleanHideClass();
, o5 G) |; m8 F# `3 n9 ?0 f |& I6 |& p8 q# h3 n
function CleanHideClass()
: t. K3 ]5 V: ` U* T5 j{
+ E! ^7 v' B9 @: x1 q1 _, @
\7 N' F3 d8 Z2 y+ f this.on=function(id,bMZ)2 ~' u; J0 v5 v* c' H
{
5 s4 w! s+ T6 j( \! g
; u! ^0 u" a5 f' Q/ S3 ` if(id == 0)
( Z- i) T4 S# [ }0 n* G {
8 n F6 u, f v var page=/* document.getElementById("content").contentDocument */document; ; C2 f) O; D! p" K/ ~) A) q+ v6 Y
this.RemoveHide(page,"span");- x1 N: ?8 p/ j. w' @; Y; H0 j+ f
this.RemoveHide(page,"font");; D( R* S9 t- H8 n; K% l. o% m4 \
this.RemoveHide(page,"div");9 v5 R" A$ K6 z: I0 Y1 Z0 @
this.RemoveHide(page,"p");7 k# y4 h: b: f" e/ W
( u, L r' w- K5 Q; }0 l5 Y0 D }! H8 C9 ^+ `" p
8 ^9 |: N* R/ J5 Z: L8 V. k }
1 j3 l( E$ ~% x2 x5 b0 W this.getobjstyle=function(node,prop)* L' e Y6 ^# M: s/ i( U
{5 q1 H: e% P: b
try5 a7 w$ A) I$ B+ v
{/ a1 u1 U# u' L3 m( m) o' Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: v) g2 U* J( T5 T! L- r
}
* w2 r( J) Y8 V catch(e)
2 w$ |* z: E. F. n2 f {# g+ M$ v4 C* ?2 d6 J
if(debug)
0 y7 G& v4 E$ Q/ c1 q2 G# N {
F, [9 p9 F: Z# O alert(e.message);& O- [# Q* L( O/ a. r/ p3 U! E
}9 ?! |- A/ t6 }
, g* R( G) Y& T8 w return "200";
( [8 ~: Q/ Z2 e% V& b- {- P }
" Y: n* O; T6 D }
3 N" q( G& v9 A
$ S% o, c2 q+ X4 D, H: j E this.RemoveHide=function(page,objname)
& L1 G: L. e$ }* C! S1 b) L( G9 } {
: L$ l, [9 ~% Z: M4 q try
$ m2 J' ? N& \" Z8 [ {, L& y6 W" w! `8 u: p; u7 T( y2 F! I
var minValue=15;
! K2 l: ~* k7 j( F: z$ D6 S; i var objs=page.getElementsByTagName(objname); ' [/ o8 `* i% \$ r" s+ V& a8 o
3 z0 P" K7 P+ @0 L$ A% |, L if(objs.length == 0)
3 [& Z" I8 S. x6 d2 N0 S0 P1 J {
: L' h4 ~+ E Q, N! r Q3 P2 F if(debug)0 W% ~7 E7 B% ~" r4 r1 U
{
8 Q' q8 F: V9 V alert("no object found!:"+objname);
9 j4 {' f+ u* [ }# l- S7 Y8 }; K* | j
}8 i( d& ^" Q$ ^' n* A8 L1 M
else' Y$ f/ v3 r; p# ^/ J1 P
{
0 U* M5 y: X# x- r 5 y: _3 p" G/ r9 ^
for(var i=objs.length-1;i>=0;i--)
$ d3 \1 S3 i$ A. ^0 C {5 P& N" n0 H2 Z7 ?
var node=objs.item(i); ( {6 y! t2 {9 J
+ L1 Q3 V' p0 d. U
: |* R$ l4 I- k3 s$ h5 W/ s4 @
if(this.getobjstyle(node,"display") == "none" ||
5 a' L/ Q3 M. x0 {4 u# e5 p this.getobjstyle(node,"visibility") =="hidden" ||
, t+ y) `6 d* K. V* A8 ^& | parseInt(this.getobjstyle(node,"font-size")) == 0)
! X5 |, w @0 r8 N' P3 |% P* r1 m; Z {
* K2 ~' `1 ?7 X" @ if(debug)
% p' g3 O3 l7 V) {) J& H: f {2 K, h" ~$ A- Y3 Y% z7 J
alert("remove invisiable!");% B5 ?* x( K$ e) n" B* g/ [
} J/ Q2 I& J, B
node.parentNode.removeChild(node);
, l6 U" A5 r+ B% p
; A& D7 N+ J. b3 ?6 K& o }
0 D' E( ]' r0 a T% F else
W; C4 }4 p& m) G( G0 r {, p$ O6 }. d- A- ?# n: E( i
if(node.parentNode) 5 P w( `) c) b; B2 {4 ?4 B
{3 U6 y; V; J, J: l" f# ?3 z6 F
var orgNode=node;/ m' [8 d4 x1 T% `0 z
var orgColor=this.getobjstyle(orgNode,"color"); j5 n! n* V$ V% i' s% w
var orgRGB=getRGB(orgColor); 4 N$ F, }+ |- k6 k( g. @
) M: b4 w' |. T# k: a) E- F `/ y( D var parentNode=node.parentNode
: g9 e7 x- s H! X4 |# a var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 B" O4 h7 q3 B* E6 Z6 t+ K ( i X' o( i+ n* D1 k
var isLast=false;1 O$ K: {/ b, i6 A/ W
+ O u f2 n P
while(parentBgColor == "transparent")
6 E" \% U$ y0 G {1 F K3 D& S7 f! t+ O
- Y. g5 i( q% a0 x
, U/ q7 x' W @/ I
if(parentNode.parentNode == null)" T* r1 n! A0 m$ ]9 W
{5 J+ y7 C# L; m- J6 S7 o
isLast=true;6 L* z9 C- E" m( y4 U5 _
break;, K1 X2 {, t/ }5 q, p' j
}0 ]; H D' u: P. g$ |7 w3 Z
parentNode=parentNode.parentNode;% ]5 l* a1 b9 g$ o; O
parentBgColor=this.getobjstyle(parentNode,"background-color");
+ v7 K: F# x7 M! z4 D/ v- F* O" {$ w X3 C( D9 [0 ]* m
if(parentBgColor != "transparent") 4 J% f6 K7 z; C
{! \- t9 v7 e3 a: N
break;
. n, \% O4 R |2 `5 V, Q. P }
$ M0 g, @" h, y }9 s4 |: U( }$ Z
if(isLast) # D d o; u) z# d& }3 o8 T) E
{! D# A+ f6 F5 W( H6 p1 N9 x" R
if(debug)
# ^8 f! i3 |, G! Z% [% V {
0 @( M$ x+ E) v1 h/ v7 C& u7 P* k alert("last!!");+ m* {$ Z7 c' j0 t! a$ H" B
}" B2 e- y, N- q, Y" D; u2 w' V
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% |+ V1 ?1 s v! {6 b {( N5 e5 I$ @+ B2 ^
orgNode.parentNode.removeChild(orgNode);
~4 k# N; q* r7 W3 E V$ P1 Y) `# r }$ B9 t; V" z F0 G' W. V# Z
}
* p3 }, ]3 |! M- z! L else1 y/ D( w8 z$ u2 T5 }
{6 v# k5 ] T3 E% b
if(debug)
8 d/ W/ N. l% C" I( X {
! |* P" z) n0 q4 |/ X3 I6 a5 x alert("compare color and parent bgcolor!");
% e3 S! P6 i% |. @4 { }
8 R/ h3 [8 _2 O- f/ [# B3 Z parentBgRGB=getRGB(parentBgColor);
& t' E: K# ]3 u- Q2 ]+ j if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) \1 I1 N- k! B8 s& E+ Y9 A {
) P5 j. A) ^" F orgNode.parentNode.removeChild(orgNode);
* k/ U! { l" J" n3 c9 T; y; i }3 F" l( t2 x2 H1 C7 A3 O
}
& l3 R9 \" l( H( u% }0 f }; c9 ?$ T5 d& I
}' [* V" C. f: U& L+ x( N
}
& ]2 J2 g& Z+ Z d0 Y$ k }
9 X5 n- T: X$ e2 U6 z( c
3 \( l% @9 B9 Q5 i' P' {
! s+ o8 R/ e3 P7 [' g" H var itemFrames = page.getElementsByTagName("frame");
8 ]% J9 L: d, [5 ^( ?7 t$ e var itemiFrames = page.getElementsByTagName("iframe");4 y" h5 O" H6 M* A9 i' K9 X
: K ~% M! Y" C+ Y' R" G var frame, iframe;
% _% j6 G- N, k$ Z8 r if (itemFrames.length > 0)
9 T( g4 r3 U& T! D5 r( [$ F6 }/ t/ w {
0 Q( `& ]0 X/ B/ I' s- ?0 A" z for (var i = 0 ; i< itemFrames.length ; i++)
. R5 u. i. f: Z# X* {5 r { B2 p' g% v8 A! K. F: K; ?8 o c5 l
frame = itemFrames.contentDocument;" f, j3 a8 h8 z0 R9 R" N9 ]* G
this.RemoveHide(frame,objname);
' _$ C. \/ P$ P) g: W& ]8 @ }
! ?7 }3 X5 D' W9 z/ k1 `: g }: Q: K7 I4 y$ ^+ [* J0 t7 U
if (itemiFrames.length > 0)* u5 H4 v; }+ b/ x
{
4 k `/ o) G& t) [ for (var i = 0 ; i < itemiFrames.length ; i++)
0 I, R% V- {) U( ?& w5 }$ E {
7 X( p+ F i4 d: n& z+ u$ z iframe = itemiFrames.contentDocument;
. Y& ^! f) P& x9 o5 e0 a" W& S2 m this.RemoveHide(iframe,objname);
: J/ U. W9 C( w7 B6 A/ S }# n9 e+ D, r; v) ?; x* R% [
}- `! `1 @$ M: ]) `% s
}
+ X3 n% T$ j7 z4 t" y catch(e)9 n/ j' [2 E1 @
{
4 L9 I. `3 c h" m) v- |* p; D if(debug)
4 e7 f1 P& z" X5 X q {
- ]) i4 g5 c3 V" i. h) T+ n# A alert(e.message);
7 y5 y# c6 J, ~( [6 Z& B) p }: V/ O" _; u. l2 o6 d8 O7 I/ M$ y
}. p; e: c6 i+ j. w% l. ~6 N
}
2 J) R* `9 ~8 S7 V3 c
4 U- a' q: ]! V" Y3 E( M7 p}
: J" N7 @; U f- i$ b7 d" `# g% T6 c( J3 ?: c6 S) `9 u% S
function getRGB(colorString)
3 r! n! x. m% X" P4 T{4 D0 t" b4 O1 ^) t+ R
var RGB = new Array;
, F& j$ c7 V& Y+ t% }! K1 e var tempSting=colorString.substring(4,colorString.length-1);
5 @1 C4 k/ h1 A* F: h2 [- s& I var tempArray=tempSting.split(",");3 F/ b r7 e k: S
P0 k% y8 I7 ]0 i* y
RGB[0]=parseInt(tempArray[0]);; {9 X* c! S) {6 C! ~
RGB[1]=parseInt(tempArray[1]);
* s+ w$ w1 C' f* J6 d RGB[2]=parseInt(tempArray[2]);
1 A9 q/ S5 N* u+ i8 j* t* ^' Z + b8 c: T; m4 W1 C g
return RGB;
* y4 F8 d0 w* K}( A4 l1 C7 K( U! O3 q2 _5 \4 X
function keys(evt)
1 f- ~+ W# y" t2 f& T { - ]# d8 y# u& d- L/ V
if(evt.ctrlKey && evt.keyCode=="81") , ]# d O4 h+ ?4 s, W% v) k
{ 0 [4 m6 |4 t( J2 `) ^& M
CleanHideObj.on(0,1); }7 q0 H. m+ D$ P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ _) Z$ ~ D2 h2 {- K# Y7 N
2 D Y& f4 ~; S) w
}
1 g" f8 f( z; |3 O2 \ }
5 j% H8 ^& o4 m. |; k( ndocument.addEventListener('keydown', keys, false); % |5 @( I4 I+ I9 ?: n& I6 W
GM_registerMenuCommand ('Clean Hide',1 _! B& f( c) z z& @6 _
function(e){
# A T: y* {" F9 w/ _# HCleanHideObj.on(0,1), F4 t' w% }6 ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 b2 s% U0 d$ I2 `
});9 `" ~1 w3 |; T9 G& J
|
评分
-
查看全部评分
|