|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * ], p7 m2 v- J1 z4 \+ t9 p
) z6 l U& _" Z6 E3 |4 r
火狐插件,用猴子& o1 q4 K7 d5 z# Y; r5 ]
. B) K( l; g# Avar debug=false;
2 [2 c8 L* n5 t1 e5 S- {6 Q& hvar CleanHideObj=new CleanHideClass();% j' Y S; u" [# O! l- }, F8 I
( V3 o5 y( _% L" x; x# jfunction CleanHideClass()
" V- \3 e4 H6 k. b; w( g{
' Q5 @2 t3 t1 i/ W
+ Q t& f$ h9 \ w2 p this.on=function(id,bMZ)
9 j, E; i9 ?8 ^% g+ X {
6 k/ A" v& m4 R& k8 i h+ j1 _; W6 T4 L7 F) c9 Y! _2 f3 _
if(id == 0)+ i- q! S. s* M: [( K
{9 Y/ ~ x7 c9 ]/ y- N% W L
var page=/* document.getElementById("content").contentDocument */document;
; @5 L4 U i5 |; V5 I this.RemoveHide(page,"span");5 s, Y" o- p- w! d
this.RemoveHide(page,"font");% k2 g8 R) S5 W
this.RemoveHide(page,"div");
2 x2 x: ~0 M7 T) S0 } this.RemoveHide(page,"p");# W2 o- v6 [6 L
+ L4 b2 Y& v, ?% G: X, s- E- u9 [ }
7 n" d; x0 J( p* T: C 4 i N. p3 }% g; E# O& T
}
' R) u1 Q0 g( X6 | this.getobjstyle=function(node,prop)% L7 V1 N: z8 d: F6 O9 G0 e
{
5 u# s( D$ q+ O& Q' i% E9 l try' s4 H* d3 w r7 y
{
1 O; s3 l( b! A1 ?, h5 I# n5 l return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); b3 f2 D- T- X$ m
}
* V' I4 g4 u" B( E1 C, k) ~- O; Q9 _ catch(e)+ Y& g( K- R! J& P6 b3 f( I
{
5 j" v) l! S. K. Q5 q7 i3 [& |" I( e if(debug)
/ o& D$ ?6 q; \8 u2 z& ^, c$ F {
5 g; b* ^6 o1 u- e' T7 G$ P/ I alert(e.message); x7 r5 j9 J0 b3 c1 y( _
}# W: r2 Y5 z' W4 R9 e9 \
7 O: J2 e+ h8 [6 [1 a1 Q% |+ B return "200";
2 n( |* H0 N& c+ w' H/ B/ J! r: B }
3 N, @% j n8 p8 |# Z }
8 {; [; [4 n8 l5 N$ x$ A
3 }+ |! n4 q5 u, k M0 r this.RemoveHide=function(page,objname)
/ }8 ~+ y& K6 U {" R# b& ]- p3 b) h
try( N4 ~. l* U+ S* f7 K8 k1 ]8 l
{- ~+ Z- S1 F9 g& \% o' ^
var minValue=15;8 l4 J' L* A; B" y, X2 j
var objs=page.getElementsByTagName(objname); ) J) G8 y2 K9 n: R, M) m# u# a
! M4 Q n1 V5 x5 E3 }8 b9 h# J if(objs.length == 0)
$ o, A( X$ `3 g( T: J# n5 v% k$ o {
G, n- }# t; w if(debug)$ c/ n) R5 P/ e6 k& o n
{
0 _) K- i4 v7 y7 o7 r- A- q! `, x" u alert("no object found!:"+objname);: p' Z1 R5 Y/ R+ G
}
- @6 u4 y; k) V5 Y ?6 J }
q- W* |8 X# w- M9 n" o else5 {4 L( k# }7 a( Y2 b& n2 H# T. k
{1 L1 B% V! J8 K
2 | T a0 ~2 P
for(var i=objs.length-1;i>=0;i--)
. |; @4 ~- E8 Q. I$ L; R. H, I: M {9 L, i i: B/ h' ~. p% R6 d9 a+ v
var node=objs.item(i); 7 A9 ?, w/ x; o' p* m
7 F5 U! L. S; `$ Y; _. u* `
$ h& y4 Y( d2 L6 [3 q1 x' A% q if(this.getobjstyle(node,"display") == "none" ||
. V9 C$ Q6 {7 h7 L7 x) T this.getobjstyle(node,"visibility") =="hidden" ||
& k) [$ [8 _8 ~, }. w& k d/ g# x parseInt(this.getobjstyle(node,"font-size")) == 0)
' S: i; Y( W8 T+ m# Q; c {* c0 X! r5 A2 K' J
if(debug)
' X0 G( x8 F( Q/ v) i4 k {+ Z5 B5 x; r- I$ [: ~9 D7 s
alert("remove invisiable!");) v1 s2 E+ p( s" j" Z7 Q, A/ |6 }
}) ?* N! K0 E' a) `2 B- i1 U
node.parentNode.removeChild(node);
! { v3 W/ R" M- B: p" e 1 Q4 i$ F8 Y2 R- h& J: u5 C
}+ L9 I; R4 @. |
else
4 y, B( ^& w: Q3 d8 Y {5 Z& F! r. i5 ~* o0 W: T0 _
if(node.parentNode)
; f4 x% o1 b7 `- J6 l$ X: _ {9 ^: x0 B7 B# `# Y4 |( C$ T
var orgNode=node;
`8 a% T$ N# | var orgColor=this.getobjstyle(orgNode,"color")/ m, G5 k& z* Q) C; Z
var orgRGB=getRGB(orgColor); / [( O: H. l1 p: \' B
4 O, a( a& z: u0 X |8 K/ [
var parentNode=node.parentNode
+ w4 H x1 `" n3 j0 h% h8 r var parentBgColor=this.getobjstyle(parentNode,"background-color");- H" C& u) v# r7 H) G# E/ u
* l) ~# K. }% H* ]2 { var isLast=false;# ^% Q I5 Q5 w$ L( T3 ]+ u& T8 n
+ f* N/ a; j9 _
while(parentBgColor == "transparent") " |) S4 e9 m( ]
{
. @+ R+ V4 j1 ?2 a a) x: j0 o4 l " p9 w2 t3 h8 J8 a/ u* b4 r# l0 y
1 b! ^ d( _, U if(parentNode.parentNode == null)
& R; z, L( J, x/ G |5 p {6 N' d- j# |! z) T
isLast=true;
) x/ M' }2 B; W3 [- k" S% Y' s break;
; E A& g' f7 |/ N. z* X7 j }
' C1 ?6 x/ L" u2 C7 D- k parentNode=parentNode.parentNode;* ?$ F/ T- B7 k; z1 C, `" P U& {
parentBgColor=this.getobjstyle(parentNode,"background-color");6 d1 `8 k+ J9 {4 O2 \
+ Z1 V$ x$ a4 a4 D if(parentBgColor != "transparent")
$ {+ d% r1 _8 t7 k- N9 p( t" B1 {/ ? {
* j, g, J& @* n break;5 p9 `5 ]; J1 v) G
}
: M6 G% S9 H# Q1 N {" ~1 C }
" C1 [; j* c$ i/ v. S) \& y7 @4 y if(isLast) 7 B3 n) C# ]8 \6 \. D/ n
{' g, z- G. ?/ }
if(debug)! _& e7 d3 V! c3 z; R
{
' h& p K" r! _5 B% x. l! w* z) g* L$ I alert("last!!");
/ q% E7 ?# d, t } M' f3 j+ x6 u6 F2 n+ U" w- D) ?* A
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 T' |: U+ F G; y- i
{+ c5 @6 Y9 l( ~, N4 f7 f4 M
orgNode.parentNode.removeChild(orgNode); - g: {& A% A2 V7 W5 F/ a$ t
}
6 m/ D4 S; h, l7 G, q }( k5 o c2 q1 v; o5 G
else
2 n% D/ ^; l x" r3 I( ? {( b/ x& P! `1 K( {/ F
if(debug)
: E& H( W! C T' K& s {( `: R& Y( `- e. T2 ~- L$ j6 L
alert("compare color and parent bgcolor!");4 e; J" _- m" _% |( K
}5 O) c0 s8 c- N/ U- f2 @7 J6 [8 O* j' r
parentBgRGB=getRGB(parentBgColor);
9 K5 c* O, I( ^* y) e if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- ?% I; s* ]6 ~% h1 Y
{# G# A& g9 Z+ E
orgNode.parentNode.removeChild(orgNode); - q8 n# q- L5 o
}, W3 j& V- u' _! l
}1 ?; w! U8 n2 M% E# I
}+ C( E& \* J' \" @ u! V( F) `8 `+ }
}
+ F5 c% _/ w6 h- `' h } [" A9 w0 Y6 @7 H5 V+ @6 J+ f3 M
}
5 a; h% o2 e- F* G: G6 w
p) Y) [9 c. r, C8 u
" y. i+ {( i; o7 Z var itemFrames = page.getElementsByTagName("frame");
) [* x" p" x0 b% s; B var itemiFrames = page.getElementsByTagName("iframe");
1 f* b( c9 k& P- T0 e . Q: A) M1 D( S/ h
var frame, iframe;" U/ p3 c0 V. f; J
if (itemFrames.length > 0)
6 B9 U. u! O8 b* m5 O* [ {( S8 d. _3 l; ^: `4 m D/ I
for (var i = 0 ; i< itemFrames.length ; i++)
# M0 }: s, W. t" m! T% c6 n {8 ^ N# w' g5 f( y$ }
frame = itemFrames.contentDocument;
/ F& P3 C0 y$ }/ X+ t this.RemoveHide(frame,objname); ! p# @7 @$ Y7 C
}
$ \" t8 y0 ]6 a t, w6 l' h# o }
. t7 l ?7 O9 N- K0 Y1 O9 Y9 _& C7 W" Q if (itemiFrames.length > 0)
) a; T$ r( V6 d- A {7 \$ L3 W- p, [3 N8 n% ]% J
for (var i = 0 ; i < itemiFrames.length ; i++)
4 `" q0 q+ M. f3 E {
4 B; n# ]3 q# d) m iframe = itemiFrames.contentDocument;0 a: P. ^. E- }9 Z# v( c7 [
this.RemoveHide(iframe,objname);
. ~7 @0 Q4 w) J }+ [8 g" p# d5 n
}
4 Y+ Z; I. A8 [: U7 p# o }
% d7 s( A7 v% @ s- l2 U3 F" ^$ n catch(e)
! N H1 ]$ O' z1 C# l1 r! v; B3 H {* N& C: w7 K& ^
if(debug)0 _; T9 W% e; U( P/ U* z# e
{7 J+ f$ d" Y, R& _& g
alert(e.message);
$ ^; c: W) {7 H# k }5 [/ z# p# _4 E2 O% [
}
3 b. D, V0 {1 k3 [ }
: G" q" T7 X+ I6 d# W9 o8 K2 S; w 2 R. g* M2 y0 j8 D2 C
}
7 Z) L' g3 `, A! L5 k7 I! b( U$ `( I0 Q9 t4 z. y
function getRGB(colorString)
m( F7 I0 {5 k }' _; Z{
m3 `6 x& b6 K3 ` x+ s var RGB = new Array;
I5 I" c& o% e3 U var tempSting=colorString.substring(4,colorString.length-1);
6 E$ N. J; L! M var tempArray=tempSting.split(",");
+ w+ Y5 }5 d; T- T, q) V* i6 @" @! @' T. N/ d
RGB[0]=parseInt(tempArray[0]);
0 v$ F, X4 }3 J0 o$ K% ^1 J& A- p RGB[1]=parseInt(tempArray[1]);5 d+ Q4 D9 W* u' N* A
RGB[2]=parseInt(tempArray[2]);+ Y# e2 Q6 R8 f0 U
: I7 O; R' }/ O+ b+ ~3 _# B
return RGB;1 r8 t. y: p: u G* _) B- P" k! v
}
4 M& R: S3 {6 s; O8 j& |! ?0 O5 Lfunction keys(evt) / V0 e: S5 N- ^) [. ^) y
{
7 P$ x) e, z" a' H2 B if(evt.ctrlKey && evt.keyCode=="81") " g5 }: j- V1 _; t
{
9 k7 ^9 w, ?6 o7 J6 y+ a CleanHideObj.on(0,1);
3 S" R: m1 v" p4 K& Q/ D1 U alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 r, n8 g- U, j! y( x
- e" A" L, Q7 }, f7 M } 1 [) S1 J, c' A& u7 Z1 [
}
9 U$ q$ g: N5 S; a ydocument.addEventListener('keydown', keys, false);
9 E+ u! M5 i% p$ XGM_registerMenuCommand ('Clean Hide',
, S3 o9 m& I S/ n& Rfunction(e){
7 P. D ]+ ]9 U! s, P8 {8 T; VCleanHideObj.on(0,1)
5 m# b7 l. S! m7 N- h6 ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ m$ a0 r3 a6 S& i});' ~5 g& w$ }) m$ }2 t& P8 S' O6 q8 A
|
评分
-
查看全部评分
|