|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( }& c: A! w6 O3 K0 P9 J
9 N# i2 a- r/ k1 j$ v" W" J+ n火狐插件,用猴子. U) Y2 k1 k2 F; G& [0 }+ f, j
* M- `; ~$ S# m
var debug=false;
8 ]- ], }$ n" C6 V$ R5 ?3 g" |/ mvar CleanHideObj=new CleanHideClass();; K0 h, T F$ M4 o8 N
8 b6 k6 I6 j8 g F- b
function CleanHideClass()
0 |7 a, G( S& B7 x) {6 Q1 f{
2 v: X$ p) g5 O; ? & D( I; x" }) G0 | P) q# P
this.on=function(id,bMZ)3 i5 \$ F( d( {, N* I, ^1 z" @: Q
{6 C# L, I* M) J9 r
# m- U. @) O/ S# B" E, h
if(id == 0)
- i+ t: p/ f, c1 {4 G+ x1 [ {
8 U& P; ?" h; i% L" R# O" Y! C1 w var page=/* document.getElementById("content").contentDocument */document;
: k# g7 n4 m; l u, P. z this.RemoveHide(page,"span");# ]4 \ A2 [- r/ G
this.RemoveHide(page,"font");
- \: u) |; Z, r" P6 \4 d this.RemoveHide(page,"div");4 f1 R0 k o: t" h
this.RemoveHide(page,"p");
; i( V+ o1 t1 m1 g3 b' L
+ ~7 ]5 ]! T7 S }
6 x# r0 ]% R& T3 S. E3 M' Q# d$ n
! i, A/ ]' i* s. ~3 [) L& Z1 | }
- [, p( u( }0 g ~ this.getobjstyle=function(node,prop). G9 J9 r, P' |+ ]8 v. W: j
{
4 l1 E+ z( k, T3 Z try
1 ~) X; ^/ ^& {* x N7 ] {: Q l2 B* |! o6 c y0 b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 E2 J9 [$ P2 Y
}1 T5 K3 o1 W1 H0 D3 C5 e9 ^
catch(e)5 r: J" |5 z( r7 Q0 H
{
8 N. `+ T4 e- j' J if(debug)5 l9 D; Q, t, b H: I* J( F, [) x
{% R2 x, e6 ^) [# M4 A
alert(e.message);
( h% C' Q, p% {' c: E }
% C4 `/ o( V v9 {/ { * e+ t' ~( T- C
return "200";7 e, k L8 ]1 Q6 u' c$ p
}7 t$ y% r/ O& l% F: R( v! \3 u
}0 Y" D8 e0 C$ e" h4 W, b; r; T6 J
& ~3 [7 s* n; w! E( M8 E3 V `4 c1 y
this.RemoveHide=function(page,objname)
/ V9 ~3 i, D4 z7 v+ s: B3 | {
. l: i& F1 q- R) b9 K try% ~( R( h0 g6 g) p6 v' Z. E
{* N2 a: W3 d: l% U" ?- D% d$ ~
var minValue=15;4 U- a( L: X ^/ Q9 T" i3 ?; P/ ~, h5 u, o
var objs=page.getElementsByTagName(objname);
4 c( h5 z, w; ]* \8 o1 H! d& k
- h+ G: E# Q; A" d' v5 S | if(objs.length == 0) 9 n1 t( I1 V' m
{
8 Q2 Z7 f3 W8 J( N, V i% X if(debug)
/ V* B; ]" b! a- Y {- x' L2 Q$ d! D- k$ }
alert("no object found!:"+objname);! T# W' R! P! U _/ X, J( ~
}) s a% C- Y/ Y4 ?1 p& B
}8 O- y# W9 h$ l& F
else' ]6 h/ u- ^; i0 ~! S9 N& q$ k( Q
{; c' i+ d9 i$ u
I" ~& m) j, z% W for(var i=objs.length-1;i>=0;i--)
" j4 r) l" B' ?9 y0 A( @6 { {8 o% k- c# `3 S( [, y+ a3 o/ F
var node=objs.item(i); 4 a( i1 ^/ Z. k9 h( t' _8 z
& X4 \$ t5 B' P" c
8 N$ c% Q7 X6 y7 N3 t if(this.getobjstyle(node,"display") == "none" ||7 d9 U; ]+ h- z) B0 _7 P" R
this.getobjstyle(node,"visibility") =="hidden" ||/ h) C- \: ?! a/ o) U/ c
parseInt(this.getobjstyle(node,"font-size")) == 0) 1 ]/ T H+ I$ e
{
% x6 a" q0 B# k! I( v if(debug)( U" K/ f' t; h
{
/ J `; h$ R3 C9 i1 d5 d alert("remove invisiable!");
- m$ L: d. y, H+ N5 O }4 F4 ~$ ]- Y$ T2 i, q. u1 J
node.parentNode.removeChild(node);
# b+ I3 a1 L) v
5 S8 d! T7 j. o$ }& D( C" s2 e }3 ^! J* x7 D/ N
else / O: U5 K. F% X% ]& O5 I4 a
{2 `3 G& M! Y, C4 m
if(node.parentNode)
5 A2 L0 S5 a: F4 n3 i {9 ~2 B. P* P3 r( s g) {
var orgNode=node;
0 j9 x$ W+ ` f: | var orgColor=this.getobjstyle(orgNode,"color")6 j# o3 q ], x& g$ e6 g( O
var orgRGB=getRGB(orgColor); 6 S5 |% |! K4 @: x
( s4 u' s2 S( Z1 [9 _7 M
var parentNode=node.parentNode) Z- S; k! m5 T# C& X0 G
var parentBgColor=this.getobjstyle(parentNode,"background-color");. F: `' ?3 `/ G7 @% c9 W% F
' k# I& }1 d, h0 \ }$ B: N
var isLast=false;& T; b3 \, _1 v3 _9 [# n4 s, i4 z
* _' [ v4 z' W! G/ A" O& Y
while(parentBgColor == "transparent") 4 G* m. m7 q! C; {
{
( |6 m I2 r' N9 ] / S. B9 ]% l* m
+ `: R( X' A% b" K- C2 [ if(parentNode.parentNode == null): q/ R; Z+ c E5 c+ R$ C o
{
$ J7 ?4 L9 x8 J1 \! Y isLast=true;* I- A5 D, o2 R7 R+ | V
break;
+ \) |7 \; ~) j6 k }1 A* H1 G4 {+ I0 R& u
parentNode=parentNode.parentNode;
8 e9 p* y; e8 s# J* g/ Q+ i parentBgColor=this.getobjstyle(parentNode,"background-color");
4 k X1 j# A) {4 t
. D& X, @5 m! H& W: o# K if(parentBgColor != "transparent")
Y) R; r$ `. n; U1 ^. G2 i {
- C$ C( q' H3 g" J+ z break;
; L4 S: K. m5 g& v z }
( o; P/ w1 K4 y3 y }
1 k/ |! r( K# X2 i$ e4 A if(isLast) ( g( s4 d0 f! f- v) p( Z. d
{
* l5 ]9 D' P6 c v9 J1 j if(debug)0 z4 V) M. }# [
{& S# u5 b' s. N5 ]* i o
alert("last!!");
% k( D4 m: s0 e: H- s# K8 t/ W }
+ k- v8 _% D ?% Z7 W if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( B4 A9 T8 t& j* C% T5 Y" G {4 h9 L) r. w5 f: ?0 A
orgNode.parentNode.removeChild(orgNode);
5 ^4 h9 Y# l% a8 e }" T2 q. w+ T( m, y4 g4 a' n' f
}
) I+ l+ W2 c8 ]7 H( r8 c else% r2 o7 j; p% w
{0 A. B7 j3 c4 \
if(debug)$ G: Q& m( Z8 P _7 l& O( l
{
4 K" H1 D( F$ p# e) q alert("compare color and parent bgcolor!");$ c* E7 X! q9 o! A5 }( e" W7 D
}$ ]% q! c# y" H) S8 u6 X) p
parentBgRGB=getRGB(parentBgColor);
3 O/ H$ |$ M: C; f8 r if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* S. W8 b9 `; ^' l7 f& A/ s/ @' \
{
7 b; G6 @3 o5 C. `$ m orgNode.parentNode.removeChild(orgNode);
: y$ y0 P1 K$ h& H; A( t5 X3 X# g }
6 K u( k! a- p" R2 G X+ J# ~ }7 O/ q# N0 l, ]( }7 P
}2 e/ T) S' T7 }8 a& U2 S8 ?
}
( N8 s/ G& {- H3 Y6 k7 ]$ E5 c }
4 `' |: U* q! D' P) @" c1 o8 g } W$ s. _+ M: ~% i& P
$ W, n& S7 \! a+ @) @ 3 }% R" z6 w9 k9 }2 h- e6 q$ Q3 @
var itemFrames = page.getElementsByTagName("frame");
- _0 X, D5 h1 h5 e# M( M var itemiFrames = page.getElementsByTagName("iframe");
/ D+ y% L; Q& c. f' f+ A - Q6 @: i, t$ j8 K& n% ~
var frame, iframe;
+ F: ?4 B2 y' m- M ], q3 `0 k4 z if (itemFrames.length > 0)
* P) ~8 |- o, X+ a {5 f- x; I' `7 D! Y" ^2 \, W* U# h
for (var i = 0 ; i< itemFrames.length ; i++) 7 b$ b/ V" O! m/ ]8 H6 B# L
{
* O- T! d$ p* N. L. z frame = itemFrames.contentDocument;
e7 I2 L: V; S# X$ N9 c this.RemoveHide(frame,objname); . s# N! n- M1 r
}
! }! E5 P! G" m( X: D }. z0 h8 D% Y. C& D: c/ r5 l
if (itemiFrames.length > 0)- ]6 [4 g- O5 I3 I
{ Y5 @0 l# _2 `) D# W
for (var i = 0 ; i < itemiFrames.length ; i++) & J6 d# B1 ^( c# {
{
% Q* ?3 y& H% f* x+ J' @ iframe = itemiFrames.contentDocument;
i4 y+ j ~/ B5 u this.RemoveHide(iframe,objname);
! p% X; k* ~) @- @; |% A' g }
( Z0 Y' _& P, S4 R! ] }$ H$ F$ p1 ?8 ]4 O% w
}+ P; m" R( c" M4 R
catch(e)2 _( A4 x8 M. x3 h6 |
{
' B% `6 f! q8 I0 }$ N if(debug)2 ^0 O [0 p/ A f% ?! j# S8 x
{# W) Q+ D& V5 P5 f& X1 j( E
alert(e.message);2 n( J- \; a6 q4 A; x2 S& A- J
}! B* U% s2 [' @$ K4 v) V
}9 E) L5 S! Z$ a( G$ v
}
, y- P* y8 T5 _5 C8 T& V% a: c6 b $ S0 i8 f7 F: x5 a) N
}
N7 B4 W V5 g: _- W1 x7 p$ Q! T+ M. q+ y# u- u' B/ V9 |
function getRGB(colorString); R2 W6 R( M) g V! B9 V: e
{8 }9 Y: \6 X# O# P9 Q' I" R
var RGB = new Array;
1 t) A8 N1 k, e var tempSting=colorString.substring(4,colorString.length-1);
* {, h8 P4 l& ] v var tempArray=tempSting.split(",");
. y/ V' J- d& B# w; e9 s y ^, N: Y* f/ n
RGB[0]=parseInt(tempArray[0]);
7 Z- ]6 X8 q9 [% m0 V+ X. B+ `5 V$ O RGB[1]=parseInt(tempArray[1]);
8 ]9 {& a' C, v' D RGB[2]=parseInt(tempArray[2]);
5 ~0 b; o- F' X( \5 m: J9 D 9 P* p$ c# {! H; M
return RGB;
7 H' b+ \3 c2 ]9 ?2 A/ l; a/ [8 P}
3 N; `+ M- E2 _& gfunction keys(evt) $ h/ X# N6 T* @; T. v
{
. g, D N* a. f8 t6 A if(evt.ctrlKey && evt.keyCode=="81")
+ F8 X. N7 o; K: B; N* z { : m, n8 O! N8 Q, }9 O
CleanHideObj.on(0,1);
- B1 g/ k- B" S$ Q. J: D alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 i3 l3 W* Q/ K: t, d" D
' P$ C" G! d9 x, y: y/ u- a } 9 V1 |9 W; m# y7 D9 b
} $ V$ b& g4 D5 V/ i4 D* V5 `" s% \
document.addEventListener('keydown', keys, false);
1 t9 o$ N: K1 W# mGM_registerMenuCommand ('Clean Hide', n' k5 J* k$ x6 I+ ^! a
function(e){
0 R8 @3 ?7 W& K; W' S5 ?7 PCleanHideObj.on(0,1)% ]7 K3 ?& ]% g# a% Y$ o
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, [* u1 \/ \. @7 X# j});
4 x) X. g+ V# v9 |) E4 R' s |
评分
-
查看全部评分
|