|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 e. ~" q: N. m. L: J9 k3 m; N% N+ L2 q/ X1 v$ q
火狐插件,用猴子) ~9 u7 L6 @+ [- C; G4 W* u# m! n
+ V# Z2 ]- k: D6 [( G) A; Z
var debug=false; 3 K. i0 \8 ]" g% X4 `1 ?! G
var CleanHideObj=new CleanHideClass();
3 Z" g4 y: P# M6 }. `' N1 R- v- m
8 h% ^9 a3 d* e0 Efunction CleanHideClass()
/ t. O) R* l. W! i, a6 Z{ - U; d# l3 J: d% T# r9 M
& }9 a" W6 p. U0 u6 d. |6 g( n
this.on=function(id,bMZ)
[, i( w' z9 z) n: y {
$ L4 _) b7 s' }5 b
; y- \7 F3 l$ h. |& X1 \9 } if(id == 0)
& T. r* d+ n# I/ z1 k1 v+ J {1 J3 N9 B: f/ [
var page=/* document.getElementById("content").contentDocument */document; / u' O1 k! p( @+ v
this.RemoveHide(page,"span");
3 v" y+ `/ L! ?( q! G3 \# X this.RemoveHide(page,"font");4 X, T& l I, z/ L2 }: |
this.RemoveHide(page,"div");
3 }" p& X; v9 \/ V _6 U this.RemoveHide(page,"p");
! A& g) g$ W$ e' h0 r" q2 |
% ]# m5 H* X! Z9 n }
, U- ~( v. C8 J
4 d5 ~% D. Y! g2 w% n- ~ }
. i$ Z, l" w0 V) l' U4 H: P! @ this.getobjstyle=function(node,prop)9 L ^% u, o: u4 A1 ~
{
6 s% e1 r: y- O try% A& ]; a- W: n/ s0 b
{
( I0 G$ z z' n. [' ] return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ D8 b) ~6 l8 n }$ _( p+ @& @8 t# ? L& m9 {
catch(e)- p0 Z1 _* U( l+ E# z: _6 c6 `
{
* Q w% _) m, _. |9 Z; S if(debug)7 r9 K% p" h+ b1 e) u2 T: Z9 T- C# F
{
; J5 g0 v7 }8 L alert(e.message);
/ t9 N1 D1 U1 O }' Z6 f& k% u/ S5 `5 E$ m9 V
9 X" E$ i2 d6 s& c! ? s
return "200";1 D4 J$ [( R7 i! |7 v1 F9 _3 R2 `
}/ N# z% L8 V; H7 v! K
}* _% Z6 M* u& o8 u% I( q
4 ?: y* v$ K7 _ this.RemoveHide=function(page,objname)
. d( f" Q S$ g5 ~ { u6 l5 U0 d: \( R8 L* R( L/ z0 J
try- p7 U9 [, C1 e2 O* X9 u/ [( y
{+ e. P5 @, J/ Q0 Q6 D* v) N0 V
var minValue=15;: e* k+ @4 h, q+ p" u7 W' P( g
var objs=page.getElementsByTagName(objname);
9 ~* h; z2 f9 w
& {& B# }% I# R* q if(objs.length == 0) ! @$ j" a1 G' S9 T w3 d
{
, H" u2 E7 r, _5 I N0 ]& L1 T if(debug)/ N' \$ ]2 c( h; o0 r* D. g
{
1 J, h# h& l' g" }) R. j alert("no object found!:"+objname);+ D6 H) Z: M) W7 Y S- ]
}
7 I9 k9 y4 B/ q" @3 B3 I }
6 i3 K, E" A! l else# O* M' {/ }1 \( c
{7 b% t* @& t' u6 q5 t
5 p: h. p( |# [& n5 Z2 a for(var i=objs.length-1;i>=0;i--)
, a/ I) J5 {+ W {
T0 Y8 v: J8 T var node=objs.item(i);
- e, {' g, T4 N
1 z, n. W$ t o , `$ Z3 f7 r+ x* w; D- g
if(this.getobjstyle(node,"display") == "none" ||6 i3 b/ b) n9 G: u }
this.getobjstyle(node,"visibility") =="hidden" ||
m% t* b# l2 q parseInt(this.getobjstyle(node,"font-size")) == 0)
|7 x) `3 ^5 b( f/ r. K+ N2 ^ {6 T% Y3 p1 V+ s% W7 f1 W
if(debug)
2 w8 Q( q( C/ Q1 x7 d {( d' \& l2 V, N# a2 I* g
alert("remove invisiable!");
6 O" }9 Q/ o2 K* X, [( \+ n7 i- Q }. ]' L* e9 C6 ^$ Q3 w
node.parentNode.removeChild(node);6 k/ A" A" U" e; q% s
9 j% C. ?1 `4 D; c5 u5 M& h
}
& ~, A* r$ b R" V: T, r else 9 I+ l/ _+ Z% G! y
{
+ I/ |: f9 X6 X8 Y1 o if(node.parentNode)
F8 `% U0 Q. c2 E# W, c7 W6 c% O {
* M$ C) K% O+ o0 H' B( |- h var orgNode=node;
; b+ @% D$ c. v) `/ N3 K var orgColor=this.getobjstyle(orgNode,"color")
7 F* ^7 W5 C0 y; m var orgRGB=getRGB(orgColor); - D3 E# F. C" q& J# Q# y3 z% `1 T
+ m }' ^: O2 J- V6 S O$ U) F( W
var parentNode=node.parentNode
. I5 M5 G9 N" ?% b var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 H8 P# Y( C% J5 G3 [+ Z, `1 z
6 S9 E' ~" G' O% ~7 ]( u! _ var isLast=false;- _6 I& U0 G+ A
& n3 k( x& z0 C while(parentBgColor == "transparent")
3 P2 g% u9 w) L5 {9 R2 T9 L {
1 P( [, v' A' C* k2 ]4 W
- T4 _# s# f- d0 i$ r8 c2 S; ~
3 Z( K9 L8 L& G( C5 X# `: I! t if(parentNode.parentNode == null)
. o+ W: m. B" y( @4 y+ ]$ u {
, A3 Z l, }2 `0 L! n& W) E isLast=true;
. p2 U0 M% N9 t break;
- g1 l4 Y( J# S% o$ a' v" R }+ L8 v4 U- G$ S8 A N
parentNode=parentNode.parentNode;
- a9 ]# @0 d; w% p parentBgColor=this.getobjstyle(parentNode,"background-color");
& V! |/ r# W7 ^3 f
. \$ j4 O% D3 H0 K. k* J* c if(parentBgColor != "transparent") - |9 z4 @4 ~' r2 N; D
{" u, @8 h, m/ Z% L4 U) q& N
break;
6 E8 w, O( E- ^! j& ?& E. @ }
/ z% b3 P) [9 m, O; n- T' m, l }
6 H! j! ]: q# @6 _5 K) f( |1 D3 R- T if(isLast) , j! V# b3 ?6 g; s
{
0 W7 j6 B! V, A8 J if(debug)
# J9 S+ V4 F% q# L- I9 y* a' I {
: m7 F( |; A; f. j" g alert("last!!");/ F0 A! x/ x) X. n" u
}
4 y5 d' f) w% b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 h7 I: x* Z3 P( T) ^
{
, r, ^4 }1 J6 g2 U' |0 P3 Q+ h orgNode.parentNode.removeChild(orgNode);
0 B, G, L7 s F% u" t" k8 D }
# `! v8 ]8 g: R \2 ], Z# G; B }
6 p/ U1 |9 {" y/ p else
5 t. I0 K' r7 C2 h3 \# E {
4 G" @% R L3 y; m5 F; @ if(debug): t- ]: }8 Y* r3 u. I) f
{, w* \+ X$ _/ U: K
alert("compare color and parent bgcolor!");8 r' q b+ J3 k( M
}2 s5 E' P' d- J9 S
parentBgRGB=getRGB(parentBgColor);
( g0 B! {& e8 J( B5 A3 T |+ w if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 T7 V2 v4 B7 O. Z4 W" r' ? I {
0 v. n7 u' [2 r% W orgNode.parentNode.removeChild(orgNode);
* U( p- `4 V5 ]# @( I }& `& a8 } o6 l( E
}" D7 ]" t( A- x B: o
}
! N$ \7 Y' T2 U# v }
1 ^: j* X) N! _2 \- A }- c; \% [5 [: |; U" T
}9 B0 F% {2 U: g+ f( i
- \, W' z" M, U6 D1 C# h
# }# m& N; p, U- ? g6 l
var itemFrames = page.getElementsByTagName("frame");7 M/ X& ]5 a' P" A' g3 }# X5 y
var itemiFrames = page.getElementsByTagName("iframe");
/ U! x' _! H% y+ ? a- I5 X& B : A6 S5 M" z! }# j" U. K
var frame, iframe;
1 d t9 K2 @% u- f( M8 C- T8 B if (itemFrames.length > 0)
- t0 n, } d) s- _1 u. I9 O {
. U9 O( N6 D& P) J8 \1 N S' ^ for (var i = 0 ; i< itemFrames.length ; i++) + D# {- |) R- D) z9 K' `
{
8 w' ?/ e; t+ S( d frame = itemFrames.contentDocument;
: V. y% A- E& }+ b this.RemoveHide(frame,objname); $ @) d, {' v4 C
}3 ~, I+ V+ n4 g/ @% O3 c& k
}
6 X% s( `% L6 W8 C( H/ {+ Z8 A if (itemiFrames.length > 0)
- D. q0 \0 j8 \) J) _! O7 `9 o$ l {
- V' |+ U; v @9 v# _7 ~1 r+ F for (var i = 0 ; i < itemiFrames.length ; i++)
% F" C n8 Z/ ?' e3 ?# T {) @# X* l9 }5 r# e
iframe = itemiFrames.contentDocument;
" }' L- \% S5 j9 b' [" s this.RemoveHide(iframe,objname); ) F7 b, g0 v0 |( d" I9 S4 D
}( n6 j1 c7 f# C% f, i
}# @2 J; ^( C- a1 R0 H6 ?9 s
}
) v/ P8 U8 n7 `8 w catch(e)
' j1 Y1 c, k- v6 R1 Z, u- \ {
+ h$ O8 G( m+ |% B7 G% m if(debug)
' m. k7 z* z0 h2 T {
* B( v! @" E3 [ alert(e.message);, @) e' d, I# ]! t" z9 O1 v% T! Z
}5 u1 G. U9 l2 w1 j: |2 W" h
}
7 c: d! V6 S- E5 ]5 } Q }
) H2 W I" l6 Y {- T1 v( W' t$ h 2 Y) c/ d# b$ N$ T* @9 r: a
}' ?0 Q5 _: j' U
+ m! q$ {1 z) Y
function getRGB(colorString)
* o" Y2 x4 \9 `5 w1 }) z" o8 I{) o$ q4 T' {2 y& _3 `' M
var RGB = new Array;
+ D9 N. a& F( r var tempSting=colorString.substring(4,colorString.length-1);# d1 s( ~# \, Z' ]( t r( {+ ?0 g
var tempArray=tempSting.split(",");, `9 U* N3 U4 y2 r# h
: w5 o7 Y6 t- s$ F& }: ? RGB[0]=parseInt(tempArray[0]);
+ h2 @+ e, G ~$ ~ RGB[1]=parseInt(tempArray[1]); g! t2 E( }6 D0 }" r
RGB[2]=parseInt(tempArray[2]);' |$ F( h4 y; V5 D6 A, J) }
, G5 N1 X0 P. [ return RGB;
1 S! V& {& J G- f$ e$ k q8 G}2 g4 R' r' Q6 h, o
function keys(evt) # T* b; q( L9 {, @9 K
{ # A# q4 Q; g# i5 Z$ P: ]+ D
if(evt.ctrlKey && evt.keyCode=="81") . u6 K5 \: H0 G8 K
{ ( H' I% v3 y" F' q/ ]; l1 k
CleanHideObj.on(0,1);! n% j! G5 H0 w: g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 Q( p- p( h( J% V1 i1 j
# a' r" V" Z9 ^; H) M/ m2 k
} - z6 c! C) p1 j
}
L+ u- q# B3 f: q/ c1 ldocument.addEventListener('keydown', keys, false);
/ s+ M( ^5 y, o, b4 o9 M z- A( L8 hGM_registerMenuCommand ('Clean Hide',' u/ Q- `0 Q; E* N7 I1 C2 W# w. }
function(e){
9 N! ^7 d) w* N% ~' Z0 vCleanHideObj.on(0,1)# M. [7 `! q$ J1 }: J8 p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, {. h9 u" |6 I' c" O* d, l* @. x});
$ C! N2 l, x1 ?. a& |, K; Q |
评分
-
查看全部评分
|