|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' k; O% B3 V. U0 ^# J
" h ?1 H0 U" L" f& |
火狐插件,用猴子4 l' g8 H0 u/ j8 H
& d* A& g# j z- F7 ?var debug=false;
' `& L0 f+ P. X+ o0 V0 f+ yvar CleanHideObj=new CleanHideClass();
; Z3 E6 F2 U& Z8 o
8 B9 s- Z7 f3 T0 rfunction CleanHideClass() 8 i6 W4 Q! c) w
{
! j- ?; ^$ K8 g( m9 N0 J/ k
- h% m1 ^ b! j& Z6 R6 X9 `7 e+ A this.on=function(id,bMZ)& S. ?3 H" B9 C+ z
{( E5 [% ?$ r: c R
$ _% n' F9 H- T: u6 i, |9 d if(id == 0)
/ V4 t+ ^; p7 D: u7 D {
! z& T; D0 L& A( x( q var page=/* document.getElementById("content").contentDocument */document; 2 W5 N E- ?, p" I J
this.RemoveHide(page,"span");$ S6 r' z* J( Y+ R- X' N
this.RemoveHide(page,"font");
- y) {/ f4 C. @- j this.RemoveHide(page,"div");. U2 E s# Q. K) ]9 u' H. K N
this.RemoveHide(page,"p");
- C3 O* T( a$ Y3 v" o - Q+ } A% d: m' p- t0 ]2 ~8 j3 X8 |
}
( {; M/ [ `+ x W2 B3 G
* }" w: k5 p& u+ Z7 I0 M y }( Q" E& x2 {3 h% O3 C ]: M" {
this.getobjstyle=function(node,prop)
) L0 m) ^- b4 E1 G. a5 v {
6 E9 D5 B4 \! z: y try
" }: l" n( J3 H0 `! Q: ~ {. N8 P& d; y$ }, S6 b- B" p
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
5 K# U) f" ^+ r. J9 H8 Y$ r" T' h }: p. h! W7 T9 I9 v$ k
catch(e)
+ ?: z! K% n- e1 \- C1 N {" V; g1 x! k! ^8 a2 x- c
if(debug)
& M# V! j6 F( r& q% O {' R" W9 u+ G* E" l
alert(e.message);
" z6 N# J, A0 y5 K2 F: s }) n( m" L( c$ q! r3 h
- r: F/ T+ C' r m5 H- k
return "200";
1 j% f- u5 T4 {2 s |. U7 Z }
$ U: Q0 E" @5 o1 G8 E: o }+ U: N7 g$ R6 V! B
2 B) b0 s7 d( E this.RemoveHide=function(page,objname)( m% r+ t2 \! [2 V
{
1 H2 O) c: ^+ x q8 Y5 Z5 V try
8 |% T1 \$ s' c% h {
1 I/ c# N% Q9 U# Q var minValue=15;
" X+ n$ i% v2 `5 M; d var objs=page.getElementsByTagName(objname);
5 O: e* L4 W2 Q, o
& c- \+ ~1 G; c7 K3 L if(objs.length == 0)
/ R w m C, F- h {
, T, h* S* @: s9 U- K if(debug)% {! d; \* x; n* w( T* R0 u* N9 O: d
{) Q7 j- g( w+ Q: Q
alert("no object found!:"+objname);
) i- p# x% s; E P }
) Q6 ~) C( v/ b }
4 m9 Z+ W9 |( r) L$ N* ] else
: V0 t( {4 L/ W% p6 q {
$ ^' ]: [2 r0 M8 d
+ B# I {/ P( h" Y for(var i=objs.length-1;i>=0;i--) , \+ l% w2 K1 {
{
5 |0 f, F2 ] A& u, C7 \ var node=objs.item(i); % G% y5 I' o, m) B
( f7 P7 Z, F" C0 Z
, w7 X) I6 V0 ]( F) Q P4 L4 o- x if(this.getobjstyle(node,"display") == "none" ||$ O( d; ~$ K" Z, x
this.getobjstyle(node,"visibility") =="hidden" ||
" U# Z$ j7 t& `: ]) x7 }) y7 V parseInt(this.getobjstyle(node,"font-size")) == 0)
; ^+ `: p h I: ^0 m9 H4 p8 q4 R { Z5 E. j( _$ S7 J
if(debug)) u% X0 d& Q7 r) g: T) F# @9 @# t" [
{; s6 U- _7 @. o3 b& U
alert("remove invisiable!");
& v. C( ~, s6 t8 k }( i- K3 ~9 e& Z \ v- I
node.parentNode.removeChild(node);
6 x& U' j6 V* Z X- W
( U, s5 @/ u! [% a. D }
+ U4 p/ C; O2 q( s9 e, u" n else
( v& J7 r+ s& t3 A5 [% I {
* L m. R- `) }! } if(node.parentNode) , q5 }! T2 ?; D9 j; Y
{
4 b9 K# v( S- H4 Q% y var orgNode=node;
7 e) r. c, b) o4 G p: O4 v var orgColor=this.getobjstyle(orgNode,"color")
4 T" _1 |4 W- X' y! _! v! _* P5 m& F var orgRGB=getRGB(orgColor); 8 j* [5 p3 y% g" ?3 V' W
3 f4 \7 @4 g6 x var parentNode=node.parentNode5 k0 z0 y) S' y8 x' Q* _
var parentBgColor=this.getobjstyle(parentNode,"background-color");4 i9 o5 \& u* Z& W1 z5 b
S' T0 M* {* k1 ? n( s
var isLast=false;0 V ~' I& i9 W$ a# n
0 P- a* H M) M0 u& x# V, b while(parentBgColor == "transparent") $ W2 v! d) Z2 F
{
( T& C0 C. w+ U# m# \ q
1 M; H2 q/ p. f: g) O }, w , W }( N- y6 a* E1 L7 ^* ~
if(parentNode.parentNode == null)* B% ]( e, i9 J- [1 z5 T! g$ o. t
{4 ^. M3 M4 Y' I! m; @ s; p
isLast=true;
6 n4 g. C4 z% e% M6 J, H break;* f9 X& R: `7 V7 z h- H* K% [6 u
}+ \4 e; C/ x) S: w
parentNode=parentNode.parentNode;. q6 x. Z! R) r# u2 _: z* x8 Z. s
parentBgColor=this.getobjstyle(parentNode,"background-color");
" w, L* u) I2 I6 y5 Y9 ~$ w2 n$ g6 V
if(parentBgColor != "transparent")
" y) D7 y$ X: r6 E/ b {/ ?0 L, ]! K4 }" p5 ~5 @* Y3 c
break;/ Y5 ]; s! x9 G
}
) R4 F( e# J/ M% v7 f- O& X }
8 _1 z8 m8 s. Z$ _( {: l. M% I8 r if(isLast)
3 i, ?- c2 C! ?/ p {
/ ^6 s$ H$ Q6 U" T- z; c4 z- e if(debug)2 ` l* V1 l W( @+ W& }
{
' }4 H/ u% a9 \ alert("last!!");( ]5 R/ x9 l2 R$ f! R- f" j; g
}
1 v+ i0 W0 E5 _' T if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 R8 k% K2 x, N: V1 U
{+ N, p) v0 r- x
orgNode.parentNode.removeChild(orgNode); 2 A. k _# m/ z9 ]
}! c% X- H% R( \' {: |- _/ C% F
}/ c! D5 I/ r6 v! @
else" g6 N7 N( Y3 S) N9 K: C8 K
{
" F' G2 Z7 c: {. _9 y( v& g if(debug)
% M; {' }9 ~, M& Q$ V$ W# F# C {4 h* E; E7 W) w" z2 O) D5 p/ o
alert("compare color and parent bgcolor!");
% M5 E6 o; f M1 D5 { }
0 Q/ i* ]* B6 X parentBgRGB=getRGB(parentBgColor); Z4 l4 w3 B7 R3 A* [
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 c J4 p. Z# W4 g/ j% O
{
]4 x. p8 Q0 f$ e orgNode.parentNode.removeChild(orgNode);
& i' c5 c: K/ e1 n! I4 X7 k/ ] }
5 n' ^# A/ _3 a+ [8 f }
" F Z" F6 \0 r- ~5 g5 f }
$ e- A. y: d1 j: f: g }- f" @& V# Q+ m/ l) b P8 ^
}$ B( i1 R! t3 X0 d" A. S$ q) S
}
9 V2 U. x% l; w! u N
5 W1 w7 Q4 j. A y+ w- D' O; y 1 l4 I, i; Y+ L8 q- |; p, N
var itemFrames = page.getElementsByTagName("frame"); H' F; O A; N: M
var itemiFrames = page.getElementsByTagName("iframe");
: A& K7 O7 ?# j: M
8 ?( t5 p+ K( [2 T1 w- i var frame, iframe;
2 X8 _9 U4 S& N K6 C! x7 ] if (itemFrames.length > 0)
" G1 G$ C/ [5 L) o/ ` {
6 B3 Q6 V! q# {8 [6 f0 o; X for (var i = 0 ; i< itemFrames.length ; i++) ! Q7 a3 ^7 K5 F" u: s, q9 Q
{
3 V+ i6 D6 K% }6 f* N( @- } J6 e frame = itemFrames.contentDocument; e) ~ _% b$ @: R' [ j
this.RemoveHide(frame,objname);
. W# T: b6 G- j& T) N% C }
( g; L. R8 k4 N; B2 K5 Q }
7 c" _- i `7 f/ m if (itemiFrames.length > 0)7 A/ p4 z2 J- ~5 }9 b
{
- \+ E) k6 S) P, C for (var i = 0 ; i < itemiFrames.length ; i++) 8 M4 S6 W3 m/ n* I' s! R I. b
{9 j9 H$ t- w/ t
iframe = itemiFrames.contentDocument;
, v; [. ^( c5 B# c: z# @ this.RemoveHide(iframe,objname);
2 _ g# Q0 Y6 C; g. H }9 U- v2 V% G4 g- P0 c) f
}+ D$ Y6 l$ R8 t
}
' f# z9 I1 U' } catch(e)' R; y$ O6 L+ a. r/ K8 X. |
{ }2 A! b" R% `2 U/ J* L7 j
if(debug)2 M: X9 a0 w. h& ^9 l
{
M; }. A M# Q, L* q* ~ alert(e.message);0 M8 d0 @3 U+ Z8 l: ?4 L m
}
' `1 d2 D Q: H- m$ p: q1 m$ d* M } M" |# f( f2 W; U N/ H: s
}
2 k/ D2 \! q8 V5 W% B & X' e: C* n4 N$ p
}! \9 W1 }2 }/ h
i5 q" |+ r1 w7 {: V$ K
function getRGB(colorString)
* F- j1 h. N( ^- I8 g A{$ ?0 V. d5 A5 i" S6 \8 `1 I
var RGB = new Array;9 @. B9 V, ?# N' G' o
var tempSting=colorString.substring(4,colorString.length-1);
. G5 x4 x" J. [- [; b9 V var tempArray=tempSting.split(",");2 J' i) F* V( a9 p: |5 ?
/ f9 ~7 R, S' }" u2 f: g( @6 g RGB[0]=parseInt(tempArray[0]);, O$ l x5 H! ~6 } C) o
RGB[1]=parseInt(tempArray[1]);
8 j. H: S9 A `$ M% e RGB[2]=parseInt(tempArray[2]);
8 l. D1 T! [. I J " _5 m" x$ _# l- P% N% A& t$ Q
return RGB;
' k6 {2 Q2 i& n4 V; s}
6 ^7 X0 ^; K$ V: ~/ |+ W; r" ffunction keys(evt) ; N& t+ [' {, K; }7 e
{ 0 f' O2 y9 ^9 B" y. D6 r
if(evt.ctrlKey && evt.keyCode=="81") . L# [& g, [9 ?) B
{ * B' ^$ a: Y- ^" z
CleanHideObj.on(0,1);6 M$ ^& ~' D1 m1 g8 H J% w7 ^1 f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # |1 o+ F* w& X6 v. U7 p2 n
1 B. G t0 k) {+ H/ S) j8 ^7 E
} - r4 L& T0 D5 o" {1 m
}
% g2 s! x5 k1 E7 g2 _* Pdocument.addEventListener('keydown', keys, false);
2 ^/ S/ b/ w/ C5 a+ {) uGM_registerMenuCommand ('Clean Hide',1 H, h8 }8 x. H& a' Q# U$ J8 T
function(e){" F3 Y4 ^4 u3 v8 G: O
CleanHideObj.on(0,1)
8 o0 d$ T* E5 n5 w+ ~alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 b/ o8 G7 ~9 u});
$ D( K, ?9 q6 b |
评分
-
查看全部评分
|