|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 ]& i4 s' d. W C) ^9 M' c2 m! A" `
火狐插件,用猴子
! b2 S) W6 ?& w; c9 R' q
& R! L F* M7 j6 X1 L3 yvar debug=false;
" r9 v. g& m. z" n9 |var CleanHideObj=new CleanHideClass();
' l. _# p, T) ~* ], u+ _; G$ a) I4 H2 s% }5 q$ z. p# w) s& a
function CleanHideClass()
' Z5 L$ N8 j7 Y% I) n{ ( T+ { @2 k" ?! A" B; m' m
! `4 x& m2 L/ x e6 p1 ?' Q
this.on=function(id,bMZ)/ x9 o/ r u8 t2 h0 Y8 L
{ H! }* J4 o8 G' Y! d+ V
+ E/ L! S, V, |! c7 f/ Z! z# ^4 |
if(id == 0)! A4 q$ Z. S1 |- y9 O" G6 A
{
! M6 w, [' X# W, i g var page=/* document.getElementById("content").contentDocument */document; ! R' I6 U5 l! Y/ P4 m
this.RemoveHide(page,"span");( [# u3 v0 K1 Z5 d9 v
this.RemoveHide(page,"font");8 D6 @) o' @6 S. _$ ?/ _3 A. Y
this.RemoveHide(page,"div");# q3 c4 y8 j$ z( x$ h( [ z9 n
this.RemoveHide(page,"p");9 n, G9 k, `9 z# ` Y& q% p$ G
8 o! F$ I- A( {! X& _6 {1 I
}
5 X, ^: ]( Z; n3 i+ @" B
. H8 A* ?! t6 h) w" e4 ]. @ } d. [+ S( Y$ M0 T8 g
this.getobjstyle=function(node,prop)
; N. c+ w8 L6 a9 u7 _ {& \2 X$ M% y |+ ?
try
% U4 Z8 H* Z6 X7 ^3 G0 [: W- L {
O) p: S- R3 @0 ^+ m/ v return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( d" T0 W5 Q! d/ R4 o- q }
. C% `2 i3 J7 `0 v' t; a catch(e)$ O) {4 t/ o( e! ?2 O3 \3 G* ^
{2 C/ l' _4 ~$ t) H
if(debug)
) z/ O+ i A# v- m& d- X# ` {$ F0 U P/ j, }+ [$ `1 q% } @
alert(e.message);2 C) x7 h+ h- P3 [: ]
}
/ C/ V( u" a% X& y7 w, O# ] ~0 `
- F; ~1 y" J8 L4 u/ H, G return "200";: H* B( E4 D# O; ?
}
: t, R: e0 s0 K1 ]! A }$ _3 r" ~4 H$ A; U+ [, ]; I
5 R: U1 y0 o- s6 M this.RemoveHide=function(page,objname)
- V- m* U& {& n5 t( K/ A8 G6 F2 } {
0 s( r% q' ]! B0 a9 c3 J try
/ k/ n9 I! u, x4 x- m {1 C/ T- n& y: ^+ c1 L( M. h' D
var minValue=15;# @/ M7 n! V" m) {- ^2 L
var objs=page.getElementsByTagName(objname); ( V# v) _! V% e3 O7 f( i
# M5 `' l# \6 l6 \' [
if(objs.length == 0)
% L& @) U. E+ G# Q& i+ c" X {
$ o! g- i4 o1 U! W; Z5 g if(debug)
- h, v( O9 w& `; u* \0 r5 x2 g {
& y# Q/ a# \8 c+ x( W% T( ^! X- G alert("no object found!:"+objname);
2 v: a( e4 u0 x4 ]( c& x* t$ w8 Z5 m }4 L5 r' _4 ?+ x
}/ `7 Y" _3 T# m2 T
else
" J* V S B7 V8 b5 t {! p$ \3 K5 P7 ?% V2 m* ^2 C+ A
5 o1 s8 T8 w0 a/ ^& m4 X for(var i=objs.length-1;i>=0;i--)
% G @' g b% r5 @ {8 q( c! Y9 @2 H" |& d& i
var node=objs.item(i); " j9 u7 i' `" U( t5 X
8 x+ s" u; W4 d2 } 1 C* J8 Z) ^/ |9 X# \+ I+ A
if(this.getobjstyle(node,"display") == "none" ||
( M% M* ]% K. v this.getobjstyle(node,"visibility") =="hidden" ||
. \0 z4 S* N1 b parseInt(this.getobjstyle(node,"font-size")) == 0) 1 K$ k" W, V8 O3 ~' }
{ B! r9 E( ~ j' H$ S0 [
if(debug)
V6 x) ~$ V: t0 S8 R {
9 K( x# P; W6 |/ @: F alert("remove invisiable!");2 h w& o1 b* a- r. W9 ?
}9 M( z% `1 o: ?1 I( D X
node.parentNode.removeChild(node);/ e" | N( S# [" ?
5 g; ^2 v! r9 A' j' H: y+ S8 @ }- T6 L3 E+ J3 o' ^
else
" @9 [* K" V4 G) V1 D6 T2 m {
7 @" D3 _5 F) M: d- C if(node.parentNode)
. \: {- ]; M9 o v7 }" c; q {
" p0 D" X2 i# r: V1 W: v. u var orgNode=node;7 _# v9 T' U4 F4 H: L: w
var orgColor=this.getobjstyle(orgNode,"color")
& W* f F8 p; a" H' I) R9 G var orgRGB=getRGB(orgColor);
' j% x5 ~* W+ C5 }; M
' R/ j- K9 n, R, S9 `( N( a. Y var parentNode=node.parentNode! L- l! Q! J5 T$ q
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 c, g# N) `# U1 a2 z
+ I. G/ G1 l: ~8 |' c! d; D var isLast=false;
6 N1 X0 |5 ^8 `4 [6 j0 m' s ; d D, _7 y" D% T$ m
while(parentBgColor == "transparent")
' M+ j- W! N" j% N3 V {
% }& n; ^. D: ] |8 k/ i' V: P ( w3 {( A* ~9 V* g% |3 p, w
' ^) t7 C3 C+ W! E; |, ^+ O) s" P2 ^ if(parentNode.parentNode == null)
5 m6 `! [. r3 V' a8 @( f! o {
0 t3 c2 X( s S) P. g isLast=true;
5 x! H1 w) s- f& H1 x$ u) D8 X break;
3 y' f& T% [4 X2 m3 N3 A' n }) [# p% J" e1 _1 ]& J5 m& H' r
parentNode=parentNode.parentNode;/ j- X! X5 V0 m5 s3 Z3 P
parentBgColor=this.getobjstyle(parentNode,"background-color");
& h& N* k7 I2 P- L: \3 k, N
% D3 b6 @/ w. p4 J8 N if(parentBgColor != "transparent")
0 j9 ]; ]3 O6 N( L; N; _& H% _' ? {
\5 q0 q# r) R$ o5 Z break;
& [( e: _" m1 p- `" K }
6 M! \! n' Z# O }
. G0 j2 p& i( V if(isLast)
( N" P& J. b' ~9 g, b3 a/ X8 J) V {) P2 z* l+ e' ?9 B& g
if(debug)
7 Y: p/ y9 L+ E. @8 Q4 m- S, z' ]" ^, u {
4 I6 _( k% C% f; F alert("last!!");' e3 j o5 i( r
}
% f a. b- P4 b1 V" ? if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ m w# D J9 G% O2 b3 L, o1 }
{
* T$ k7 ?: _9 j w$ P( ~3 i) r orgNode.parentNode.removeChild(orgNode); * w+ f* v, K5 J& i
}$ G6 ^( k; Z1 r/ M
}
8 l! }: ]3 ]4 r ]: ~ else
7 @% L+ X2 a0 r- `# X {# r( r( N4 K* L& ]. a; N; d
if(debug)4 c% Y5 F' {3 f% g' D% G% B
{
^$ m/ }, a! X6 s7 u& @8 j7 c+ T alert("compare color and parent bgcolor!");
/ b/ w' j& o2 ? }/ U) r) a( m( I. I3 c1 ]) y' t" z' K
parentBgRGB=getRGB(parentBgColor);% `( Z6 a J; `' I8 E1 f
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- E. {% V6 f1 a% P9 [
{
6 O7 g& Z# @* _# {: m orgNode.parentNode.removeChild(orgNode); 4 S- f: t3 [2 O$ ?
}+ D" R# v$ [9 ~7 Z6 M
}, W; n2 O' s. }8 F$ W
}
8 c9 a$ C- T$ g y: j% u }6 O ~& m, |2 T# {" L, X5 S
}% W& z- J% g* K5 j: q4 \
}
6 t7 F3 \4 e# J( K* J- i( X& B
3 V- a% N8 `3 X4 w" x% O2 @- a$ b4 {# ^
6 F" L5 Q4 s2 ^" q8 p, o8 H var itemFrames = page.getElementsByTagName("frame");% {) O/ W8 x: M$ a
var itemiFrames = page.getElementsByTagName("iframe");3 b. U1 `+ c1 h, @* V
' Z3 H/ E3 `9 `# B
var frame, iframe;. n# X, A+ n5 I; c( H! g
if (itemFrames.length > 0)9 [! r R+ f! E$ {
{
1 x! r g2 n R' P2 E" j for (var i = 0 ; i< itemFrames.length ; i++)
% l6 s8 V6 i- v. U7 i5 c {
8 z* f' u8 d: R* ]( |1 O1 J# R frame = itemFrames.contentDocument;
7 g8 j' G G0 k% [+ ~9 p7 |# ^7 N this.RemoveHide(frame,objname); - P9 c* ]& O+ f+ M8 \" c
}4 k1 C3 X/ ?: o! d
}
2 l0 J7 ^- Y: n9 s if (itemiFrames.length > 0)
+ L# o3 \3 g2 Y, L6 K" O {; \% s _ d2 p5 q; s
for (var i = 0 ; i < itemiFrames.length ; i++)
# ?% [, a- h+ l( z {# y& P6 J- a! h" B; _$ O6 F. B* B: a
iframe = itemiFrames.contentDocument;/ x' I) c3 n" s( O( v, O
this.RemoveHide(iframe,objname);
$ f" Y1 o8 X# [2 } }: t( O# |/ U3 ]/ A) |' ?( m
}# ?* |1 Y. Y0 u
}9 ?. t% e) p) \3 ~3 \) n9 b s8 ^
catch(e)2 T; f! `0 F0 e( D' f
{
7 i; f. C. q' M- M# h if(debug)4 b d9 c$ ^, K* v1 h
{
# W0 k& G* ?2 `# ^9 E alert(e.message);) l0 h6 G8 q6 K( [$ C( Z* B
}
: {$ P H8 `! x }; E+ e& D; D, b1 L
}* r8 T2 ?' ?+ H
+ t1 a% L' V" N8 d7 E) p% H}8 ?, o; c7 z A) g& }/ i8 O
e0 F; ]' K- Z5 U" F4 I
function getRGB(colorString)# Q3 C( `* O _) O6 `- {& \' A
{
9 T( O6 z$ }9 |* e, D4 ` var RGB = new Array; P# C1 k3 ?3 i! X# K" L3 p7 t
var tempSting=colorString.substring(4,colorString.length-1);
& n5 R! w0 I9 M! [2 n. V3 ] var tempArray=tempSting.split(",");
v: [( U: a8 g- l
% B( V3 i+ h* k0 [) _; d RGB[0]=parseInt(tempArray[0]);
1 S; X8 O& h( J5 g+ g, | RGB[1]=parseInt(tempArray[1]);3 G" y6 I0 ~$ g- E0 H
RGB[2]=parseInt(tempArray[2]);
# b5 ~; N5 b" A* P) E 3 a2 Z5 |4 p _
return RGB;* D) V5 s0 y0 i8 T
}
+ m2 }. g) [: y0 @+ vfunction keys(evt) 6 v: M O' |+ K
{ / ~; y% T5 s& M2 n5 z
if(evt.ctrlKey && evt.keyCode=="81")
7 _ B: L$ `$ N) w$ {* S) R { 7 d7 g/ b1 x0 z7 b+ W
CleanHideObj.on(0,1);
* {. G( p* b# W7 P! v alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# R" ?3 V# K% c! ~9 q 6 `" G8 T6 p6 m U5 i. R
}
' g+ [6 ^0 e7 ^ } 8 n2 s9 h. k$ o, u1 J3 G. W
document.addEventListener('keydown', keys, false);
1 O0 } x. s, i+ n5 a2 QGM_registerMenuCommand ('Clean Hide'," y3 Q2 m: j) `9 n4 ^* M) A0 {
function(e){
7 B/ v* ~. n" j; o) XCleanHideObj.on(0,1)
: b P) U+ I% w. y. \+ X6 Talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 M5 ~6 Q% k3 \});7 s8 i/ \1 n9 Q) u0 y
|
评分
-
查看全部评分
|