|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; P1 ^+ v3 Z" M
7 @5 p0 P; b* g( j火狐插件,用猴子
' ^% w7 Y4 H4 n, k9 U+ \' S: T) n9 P; j/ O1 X, p( o4 ]9 ]% b l# F: L, t+ P
var debug=false;
, y& G# E3 y0 P1 K! fvar CleanHideObj=new CleanHideClass();. |' F* T: \$ J$ O( K
+ M+ _! [: k: V& h2 q3 a
function CleanHideClass()
2 @: x3 B5 f0 @, S, u% h9 F{ ) E% h! c. b0 l/ |( k7 t
; o/ E% Q" e; ?) g& N6 _
this.on=function(id,bMZ). C; u' k# T# J) X: v1 S# `
{
; B# k3 @5 B; V4 X* _$ I' l) X" L6 @
/ U- B6 c/ ]+ I/ z7 C1 O if(id == 0)7 F# m! O1 Q3 @: m' P
{
2 U1 k4 G' |. T" y k' o: g var page=/* document.getElementById("content").contentDocument */document; : d* T7 z4 ?4 B' B& l& Z/ M
this.RemoveHide(page,"span");
2 Z+ V7 K9 \5 {$ O5 n4 | this.RemoveHide(page,"font");9 ?8 L t( `$ U3 |2 D
this.RemoveHide(page,"div");
7 a, n2 K& @4 q; _7 g this.RemoveHide(page,"p");# T, C9 U# H! O9 a |
% c; C1 ?! [) v+ D! M. {% M0 q }
$ A" X2 J5 A$ y2 c2 o1 U
+ p3 y' l! Y6 o1 Z7 b }' V8 I- g f+ b3 M1 T
this.getobjstyle=function(node,prop)/ w% w4 B- ^8 y5 _1 n8 h
{: }4 ?1 ?; |' H$ X0 I
try2 K+ J* ]+ J& C
{
4 s# w, }1 B4 M3 C7 B* { return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. L0 ^9 h, r3 D) k7 x6 ?- O8 g. f
}$ S- _9 |( m: k T$ p3 P6 }
catch(e)
' Y2 G+ R- Z ~$ A7 Q {
: k4 L% Q7 ^; b+ ]5 I if(debug)
- B: `/ p! ^9 h8 H' f {
% S$ Y" V. N2 B, a alert(e.message);3 D/ Y6 A0 X* p1 _8 \ a
}
6 V4 z! @# [4 y" N u, v# e
0 a B9 ?: f+ Z return "200";+ E( ^( X# ]6 h6 O+ H0 j, I- j
}
6 ^5 w* {5 S) O7 w e; W }
* o' e* V. g3 a 1 ]0 j" T. `- O
this.RemoveHide=function(page,objname)9 x5 M" q: x0 a5 u+ d, [& N
{
/ M( z6 s2 B" g" W1 D( _! A! {6 W% B try% Z0 {$ u3 N- A: j1 {9 W/ w+ k( Y
{
* ?! B% m& X0 s: ^ var minValue=15;1 ?6 ? z1 z5 L5 v, D! E
var objs=page.getElementsByTagName(objname);
) l* D- }& C: X! e: K
* b8 F Z o; @- @4 M if(objs.length == 0)
5 g H2 y# o! @6 M4 G' j {
# r4 l+ g! f1 q c* {; Q if(debug). T8 @' f% d1 h# a! F; N
{
/ Q6 x. O# X& U' x% r alert("no object found!:"+objname);8 S& N9 C; g. G7 U6 o6 D3 ]
}
- b5 J! D" @# c: w4 p; p2 Z2 C }
- Z+ N4 Z1 A. F% X. R else( R$ y; I; h6 V$ c' q
{/ G+ S( t3 b* x
# r0 r8 h4 \5 ^# v8 `0 d8 c
for(var i=objs.length-1;i>=0;i--)
4 u" x: C) {" [4 P6 M- h7 J7 j {+ N, f9 \+ m& a8 p$ J
var node=objs.item(i); 2 l5 x2 |: |0 k
( Q* s, F/ w' s# l S
" [) D& V0 ?/ K* e2 X if(this.getobjstyle(node,"display") == "none" ||6 j1 A% R O. I' P1 _. V4 W
this.getobjstyle(node,"visibility") =="hidden" ||1 a! v$ N3 _& H5 S' Z
parseInt(this.getobjstyle(node,"font-size")) == 0) 8 E8 ?( |* t: r* D* A5 @
{! Z, \, K* D. I; P0 d& y$ f# L0 X: \
if(debug)$ q, e9 P$ E% {2 J# {9 }
{) V6 b) O+ }0 H1 Z1 Q: V
alert("remove invisiable!");
# _( P/ \, t8 v1 \7 p g* C }" q: G5 X! M9 q5 Y) {6 E1 m
node.parentNode.removeChild(node);; q0 D5 C1 ^$ @$ W0 l' R
2 [1 F1 [& @% d0 W$ a( ]: z
}
0 @& S' w: x! R* z& {) z$ S. h5 z else
+ i+ D2 d! G7 k* R* P {
- ~1 _/ b# }+ k( i# Z) { p if(node.parentNode)
1 S1 `. h5 H* R2 ` {1 l8 e* _! s. J* @: z$ R) v
var orgNode=node;
! X: e+ \" A ?& S: j var orgColor=this.getobjstyle(orgNode,"color")
. @$ t9 X5 R8 g! `0 \( i& \8 D7 ~ var orgRGB=getRGB(orgColor); 4 S% v8 r r% b. W2 ]
+ O+ l& T. j9 d# ^
var parentNode=node.parentNode
& S' A6 ]9 `4 H9 F2 i5 V2 ~6 r var parentBgColor=this.getobjstyle(parentNode,"background-color");
q7 P0 E4 t8 o* }
: M# e9 I" e. y4 @) ^% a" g" ]" U, r% K var isLast=false;; ~$ _( n* l6 e7 C: c
! _$ | s. ?! I4 C! [
while(parentBgColor == "transparent")
" g& \* r6 {- E' [: g& x) Z {3 i* o- {$ ~" \. w" E& L/ M! v9 V3 ]
3 s7 g0 Q. U& Z |. e5 G
: C2 p/ s: r/ L6 M+ p if(parentNode.parentNode == null)3 ]4 E X. \( f4 X0 U" `/ M- j
{1 J* t* W4 @ [1 n \5 M
isLast=true;
: i% q& Y5 |! g( f& a break;
( l3 G- s. O8 {" v$ C9 S' f }' g; D) l9 H7 {% Z0 a. j. B7 q+ }
parentNode=parentNode.parentNode;
$ b0 _) c8 Q3 `& i3 y' x7 M parentBgColor=this.getobjstyle(parentNode,"background-color");) x. |+ @7 h4 B/ T8 `- }' k
" D9 b8 @* h$ u& ?8 a# P3 O* G if(parentBgColor != "transparent") 9 [8 b# \( J v* k y [- y7 L
{0 R+ M; l# g$ X1 X; j" L$ {
break;
- N1 t+ O' ?5 C }
8 q2 @% \: ?. \8 l7 k }
& S- r1 K5 Y( n K2 z if(isLast)
2 @( z$ h; Q5 P; \: z {
; }# n# Q3 z. f1 Q/ n if(debug): k" S" N" Z! U- z' t
{
5 R: \# X! l+ p7 {* q: o$ P) @5 I alert("last!!");
; X6 J' b4 }! ` }
( I4 D. a7 a* V | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# e6 y( |# a3 f* K+ \' t1 U {
- l/ Q8 N# K; c7 y9 t( K orgNode.parentNode.removeChild(orgNode); ) t& D4 s; \- L: D. Z6 ?
}
) \6 W. [! @/ x" F; F1 y% ] }
# j" U! B* S7 c7 Q/ t( x else% a- S- n" E0 p! J' e/ Q
{
u D. U h% i, U6 N% c if(debug)/ Q8 j( a$ m# l2 M
{
( z+ @ t% |9 h alert("compare color and parent bgcolor!");# j6 L d$ q% i" [9 i
}- a8 H* V8 n" j5 T
parentBgRGB=getRGB(parentBgColor);
; c' p/ i) C5 B+ U# }' u; ^0 X$ S" s6 o if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& t- {; \9 f. y% W/ A {
$ I# t0 J" ?% x! V4 l' ? orgNode.parentNode.removeChild(orgNode);
$ O' l% D9 R$ U }9 ?/ w6 H, h V: r4 n. N: g q
}
$ c h, G' [" e4 E }' w6 r! l! o! d: {% a9 o
}4 a: v+ O) O0 I6 Y/ C* X' X( {
}
! N5 |0 e* k6 z' T' C" }- t }
4 Y) i2 ]& U! @ ; _) |# e' C7 `# E# J, c1 h
8 j4 S" f \- G. J$ n7 @# l
var itemFrames = page.getElementsByTagName("frame");
7 }8 C6 }9 J# g. U! Q1 Z var itemiFrames = page.getElementsByTagName("iframe");
, F+ w* m% t; C& `$ m) S+ R( O 5 |$ {6 C) q% Q& \* b8 h: }
var frame, iframe;
( b0 d, `9 ^. t& @; c/ r$ _9 u! z0 b; T if (itemFrames.length > 0)
: Z0 U& ^; E0 q5 _7 b+ O2 ^) C% J {, I1 z6 v1 g/ c8 s. y2 i- h
for (var i = 0 ; i< itemFrames.length ; i++) 5 x/ Z* x$ G, s
{) o0 |* u; S) W
frame = itemFrames.contentDocument;
2 l( K6 h) L, g this.RemoveHide(frame,objname); ) Z6 t! J0 o# H$ k9 `$ v- A
}& k" E3 q' x3 r* Y# O2 _ G
}' V6 P2 M/ f4 Z2 F: r2 M4 M
if (itemiFrames.length > 0)
+ l O4 P7 n( g7 R {
5 F0 L, Q5 C; T for (var i = 0 ; i < itemiFrames.length ; i++) / W9 B. q( m- O3 m" x/ N- X0 T. J
{" K& ]7 \/ I e5 X3 p
iframe = itemiFrames.contentDocument;
' q- _ D6 V _3 o v this.RemoveHide(iframe,objname); & ]: a' E2 V0 G) m X3 s& k
}
0 d ^* S2 s8 H6 Y& F3 V+ J" L: q8 g+ ? }
) t; w& `8 g( U) }) t# ]/ C# n }
& c$ X: x6 {# X catch(e)( U9 Q4 ~# o: I9 o' X' c
{
4 P" {0 x$ g: ~. Z if(debug)7 \7 e- _2 A0 {5 V
{
* v5 Q# l; Q% @- ~6 x1 _ alert(e.message);) {' m" {# _: @
}
9 p. Z2 m; K0 b8 y }" |3 i6 M5 t5 p
}
6 S) X+ t$ p1 d$ s
( Y" M. V0 F* c0 ?} h* t, G9 E( V$ Y$ u: G* C p
1 y) H1 |1 ]) V6 F5 N$ o, o. t
function getRGB(colorString)
) Y. \8 K4 A) e3 [1 h( [{' G0 ]0 ~% l, @ a
var RGB = new Array;$ h$ P9 I% V y% e0 G
var tempSting=colorString.substring(4,colorString.length-1);
1 r/ n) b1 j) t |: Q# _ var tempArray=tempSting.split(",");
. k. ^' U7 k7 |5 j' [5 L/ R# P( s& V: D4 Y) Q6 j% R g
RGB[0]=parseInt(tempArray[0]);
8 g3 z: R8 a' G* _: @6 g. A- | RGB[1]=parseInt(tempArray[1]);* Q6 t8 m2 C% l6 Y7 A& \) e$ F
RGB[2]=parseInt(tempArray[2]);
) H& c. k8 j- V
" I, x( p i9 M" {+ D$ b- Y return RGB;
# d F' [2 R' B: |. g/ i9 S}
! \* f& w0 F: }2 Z- J3 y! z! `* }function keys(evt) + L) G' K# C; V5 t- n9 j
{
: D1 u6 A/ V, p/ P if(evt.ctrlKey && evt.keyCode=="81") / r9 G, `9 ]# b9 j3 J6 j- v
{ $ E" t4 C0 R- R9 ^4 z1 T
CleanHideObj.on(0,1);
5 B7 q: F `) X1 B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); W* _9 _* @1 N% ~% Z9 X4 U! A
& v! E4 K& ?0 X, [$ j }
5 X5 c: F- ^3 x0 R }
; g6 K* e J& ]: d" o& bdocument.addEventListener('keydown', keys, false);
1 y4 p( i9 Z9 d: z$ R6 I* kGM_registerMenuCommand ('Clean Hide',
4 f6 q* D7 g& ?& M4 mfunction(e){8 u* E1 \0 v( T
CleanHideObj.on(0,1); u% R8 j+ }6 E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");. f& Y* K* t$ |) h
});
0 }0 T" J% v7 P5 S+ l |
评分
-
查看全部评分
|