|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % e1 c8 P$ d. j, ~: D# B0 U7 n; C* [
+ `2 v0 y' n/ h2 @& D火狐插件,用猴子9 p( {; Q7 j: S; K# `4 O B$ [
. i0 c5 j0 V, F9 Cvar debug=false;
/ u$ O. b/ s/ q) G* [* ]var CleanHideObj=new CleanHideClass();0 j4 H, Y& }: L: `( a0 T# X
# H$ W* F. `2 x7 r* i
function CleanHideClass()
' n% d9 v/ c. `/ b/ G$ I{
/ Z6 T5 `, H$ k) L: e
; U. V3 u% d) j- D this.on=function(id,bMZ)
& y( a2 }% S$ G+ i6 M {1 X, I6 U% m- i2 Z
. ]1 p V3 u z, v if(id == 0)
, }, u! {! c" R4 u: S @0 W {" m) y) q1 _* ^ } ?8 Q
var page=/* document.getElementById("content").contentDocument */document;
# I* k$ `: x. [9 x3 ~5 K this.RemoveHide(page,"span");
/ _2 W3 U2 j: m, N- T! b" Y this.RemoveHide(page,"font");
3 H0 @2 D! i6 b8 d/ B& w this.RemoveHide(page,"div");
7 D/ [3 }/ N/ M: \) F2 d$ A this.RemoveHide(page,"p");
. A5 P4 G5 z+ d9 ? 2 R9 w% F6 R8 B) P6 J) f
}. f0 | P/ x* T9 ? k
: x0 ?, s5 I- l6 \; W% z+ {1 Z }
5 R# I6 y0 M& G* R7 u this.getobjstyle=function(node,prop)7 {8 m. P2 M7 c4 X6 z4 |
{
6 \0 ^4 `3 r6 s7 E& q$ \6 G try
+ V6 U) I S1 h0 F {8 {/ c, ~4 Z, V$ G0 |. G. o [
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);4 R9 N& m5 I% f( r- \
}
. ?* S8 K% x, k. \+ q! ?" s+ m. L3 U catch(e)" V; j3 Z+ d0 l) y9 J% ~4 I* A
{6 p u* M2 U5 X+ L0 p" V' l, x
if(debug)
+ L/ Z' }, g6 l) g. \: e6 E {
3 }8 J4 o! W! k6 w/ ]/ k8 h alert(e.message);2 b# W$ H1 f0 I" o( Y* l# A
}! w# O5 X+ x j2 N2 _2 q0 h2 c4 T7 z
% g# N, f8 z. X W( J) c
return "200";* b# m( D. C! N" M+ r0 H' g: ^- N
}2 T, O" q. A$ S
}2 z% K. j: R0 J7 b3 q; s: v
1 {4 t/ k* z/ K3 N
this.RemoveHide=function(page,objname)) M7 W, n. I% d' Q K
{
/ x9 @0 M. P- a% n. u1 ~ try3 ~; k. R1 R6 i( o$ F/ p
{/ U" N" F( L1 b, E$ d
var minValue=15;( |1 S i$ E" B$ q, S0 n: ?
var objs=page.getElementsByTagName(objname);
* y, r! Y8 b7 Q, A9 }, {
0 h8 K3 t! T# n2 L$ a$ O1 a. P$ S- N, { if(objs.length == 0)
7 M) Z+ [2 W \$ V' ` {
4 |8 v6 H0 I( z/ P2 g$ m if(debug) |! {. a. w. Y3 h; @. z
{( [+ H8 J8 }- ]9 N! V7 O- p0 J
alert("no object found!:"+objname);
; G9 O+ F5 }/ w9 Z) l9 P2 [( ~ }5 _) h. `# M& I; L0 y% M' S
}6 {% r( I7 v% Q+ k, I) C$ f7 U
else0 F* K3 W& J; x( E' s% G
{
# A" b8 \! Y1 y( O, ?! s0 W+ j ; l y! K d, Z1 |! L+ D
for(var i=objs.length-1;i>=0;i--) 9 \/ h8 T$ _' x) |
{
1 T) z( z! w1 ^# C6 } var node=objs.item(i); * L& ?* h0 _$ l' I( l& g
( U2 }1 G: d$ p2 W9 o/ s0 ?* P
. E1 r- h+ Q* ~; G3 n" L L
if(this.getobjstyle(node,"display") == "none" ||! d! I9 A5 @6 ] R4 c; Q
this.getobjstyle(node,"visibility") =="hidden" ||
' U, N: z! O( m: B" H5 `4 _ parseInt(this.getobjstyle(node,"font-size")) == 0) 4 c: w% W, A7 M5 S( U& @
{ d# |/ s( O+ b+ H' N7 j
if(debug)
' e9 T8 ~4 j) D' L {
4 d/ r8 o& F9 u" ^: J alert("remove invisiable!");, u. T: ]& w7 I( T9 v- ?' H6 e
}/ y7 s* }6 m) _9 y: e, `4 i% D
node.parentNode.removeChild(node);# b2 N) |4 I9 f1 e1 g
) j* S8 V% A* M& k }
0 P% e, d4 F& @ else 0 ]5 h5 q1 Q5 P2 W
{/ M, W% P7 G. K% [# c- B: L
if(node.parentNode)
y4 T" Y& K1 H8 y7 o3 g {
7 o% n' ~+ a r H. h var orgNode=node;- P& J+ s, Q2 a8 j; C# V8 F& G
var orgColor=this.getobjstyle(orgNode,"color"); `% c( N0 s" }1 H) A# O
var orgRGB=getRGB(orgColor); ) M' P5 c- n& i/ M
5 u3 Z( q7 c! V var parentNode=node.parentNode5 H+ R7 q% n7 W' H* H' e D* T" R* w
var parentBgColor=this.getobjstyle(parentNode,"background-color");0 A& D" m, Y; K* a, Q; n; r2 H
& G' j+ l% l" U7 v9 q" u9 r var isLast=false;$ m" m9 f$ X, r
9 I. K* {8 T+ r4 K
while(parentBgColor == "transparent") * ^: ], c5 f6 B* ? m
{
2 E7 ?( Z! P; s- b7 O
- ]8 p! `% U! u8 F, v8 f/ [6 f & X' [" B* W% d( m5 y" n+ z
if(parentNode.parentNode == null)# m! t3 s% ? S6 v( [4 M
{ K6 _# F9 {$ A7 ~9 | Q: v
isLast=true;
& z- c% S- a% q1 Y8 h break;
* \" c9 D0 m, U }. z( Z* z6 X1 ~' c/ ]9 @" c" Y
parentNode=parentNode.parentNode;
; C7 Y6 V" ]6 o& S& G: ?" W4 Y parentBgColor=this.getobjstyle(parentNode,"background-color");
. X6 |- Q$ d5 p6 U" Q$ R: {% D) P! t0 ^- H
if(parentBgColor != "transparent") . l, p% Q9 Y" V0 d; g. @
{/ i9 {" C4 D! R* C; N# y
break;/ w1 ^. v, E1 j9 v
}/ N5 o: J+ V0 _2 w7 ^, G5 v! W8 ~6 s
}& S& R K( X* k; S" `+ r$ W0 ^8 L
if(isLast)
; C( T' k) ^: ~7 i) l {. L" |+ j; g3 G
if(debug)
. C) C9 N# n, U4 S7 L {
! ^0 |* t4 B+ b8 c, E' K alert("last!!");
( W# _; m& `+ h3 a: m! D4 i } Q! B8 d7 J5 C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ \! K9 F' t) _
{
" {2 ^8 d) p3 x9 _ S3 U# E6 } T orgNode.parentNode.removeChild(orgNode); " C, H' z0 r4 J+ W6 m- Y1 r
}5 T( y$ E% ]/ N% T
}
} I4 r# J# P& |5 D else
6 y0 P. y0 ^3 p% J7 b, w' U9 ^; C {
6 y5 ]0 d6 K* m9 X8 m, O- ? if(debug)8 j2 e. N% N8 S
{ }& R- J" q2 k# B3 S
alert("compare color and parent bgcolor!");% l+ H4 k V$ H i T
}5 M* r) D5 F; u4 f9 r; Y
parentBgRGB=getRGB(parentBgColor);
" z' {" M& H/ x if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% E! f- J' c+ z* a; N {
- [& I3 z @! u. g, ]7 C orgNode.parentNode.removeChild(orgNode);
4 Q5 e2 p( [( ? }; Q m0 c( }; d/ i5 I& t. l3 y: o
}
- h! m( ]# I$ l, c }
1 r4 J9 }" }4 H }$ Q) _) L6 \& E
}0 ?9 U; M8 l( Q2 A! y) _/ ?7 @
}* A0 S$ o2 n3 _, ?
4 y5 [/ j/ u$ p+ `, }
: c- u' ^ i" t" W! h5 ^ var itemFrames = page.getElementsByTagName("frame");' l) q% H. x5 x( T2 f) ~
var itemiFrames = page.getElementsByTagName("iframe");& _. Q K6 I1 U( H
7 V/ l. q9 j' | z* F; y
var frame, iframe;
! K" B% U- e9 N& n if (itemFrames.length > 0)3 ~: G( w' C; i2 p* R: H* r( t; [5 n
{7 F1 [) b0 a" _, N# x# H; l3 y `! R( o7 J
for (var i = 0 ; i< itemFrames.length ; i++) 0 _! u2 I- x8 V( b
{
( R, {) J6 B- }& N. I' W* i ^$ z frame = itemFrames.contentDocument;
" w( P1 u3 q9 j; E this.RemoveHide(frame,objname);
5 M' C @+ K4 Y2 G1 ~- Z }
) }2 V3 h* S/ B5 {$ v" ? }
- k. c/ z, I. j1 q# g' a ~* o1 n if (itemiFrames.length > 0)+ V+ A/ E- e* k2 G! ?& T" A* c: h
{
- c6 `' P6 ?* E- A$ f4 E% z for (var i = 0 ; i < itemiFrames.length ; i++)
5 |3 Z4 v1 b( }2 \% z% s" B {4 n3 n4 V3 @# W1 B1 M
iframe = itemiFrames.contentDocument;
' F0 t8 v# m8 E$ j' Y# Y this.RemoveHide(iframe,objname); / N! R$ ^) {3 E
}
; g4 t, O ? e( w( ~ }
4 k9 s6 W' \" Y } A- ^# V2 ~# L" f6 v$ L. m2 z
catch(e)1 ^6 ^: v9 \2 `( C
{" C+ h8 @3 H, ]$ Q
if(debug)
' @& F3 f4 C) h1 i! U2 a {& d. f- n- y- U2 X# t+ P- _
alert(e.message);& o1 W$ [# j. a
}3 ~& F6 R; x' I' k, d
}
" Q- E% U$ s0 \ }9 u$ d' k6 O: o$ h$ e. Z
K& j: c6 {" O2 F+ a& A
}) u' b1 H% N5 @# A) u# a6 O
. Z( ^7 w: g& Kfunction getRGB(colorString)
6 T0 C' }7 _' z{
" l8 s, t4 `2 J' o& j2 z var RGB = new Array;
& P4 S. o6 D- Z1 c m) v var tempSting=colorString.substring(4,colorString.length-1);
1 h# w A" b% v {# P" H7 g" } var tempArray=tempSting.split(",");7 L* ~- }7 X1 b$ z4 d* R* G; L$ s
: `4 u; i- n2 @1 H' R( N
RGB[0]=parseInt(tempArray[0]);
$ F, X7 `3 J. R/ b: B; I& c RGB[1]=parseInt(tempArray[1]);8 a1 a" W4 S3 \% E
RGB[2]=parseInt(tempArray[2]);
. o" N1 i" t) u! U" X. @
6 [3 v+ A: ?% s, w& ]) D& U J return RGB;
" |( J4 P; |8 A3 D8 @ o. D, q}
- v+ {# n2 C5 Yfunction keys(evt) % i" h7 j, p! Z( O0 j3 `
{ " [! |& q; S6 }
if(evt.ctrlKey && evt.keyCode=="81") 0 H. Q3 q. |, J x- ^- K }3 g
{
5 p; p o- O$ R# f: X, \# o/ O3 O CleanHideObj.on(0,1);
( w( G6 e" @1 Z& J5 h alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- |2 ^# `7 H' F* I* g( P! [ & R z- F4 m: ~- i7 u
} ) _# h' ?2 O3 F. F' U
} & F- ?& w+ h( h; a5 m
document.addEventListener('keydown', keys, false);
* b* ^% J4 w8 } ?; mGM_registerMenuCommand ('Clean Hide',
. @) j T9 c' }8 jfunction(e){
7 |) F9 L! a O' tCleanHideObj.on(0,1)
- ?' N3 X% |- L% E% Z4 ?) s- ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");% V; I( r2 u0 V: c. J3 s
});8 C0 \/ ?# [: y/ r; Y
|
评分
-
查看全部评分
|