|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 v; N2 x0 _9 z- n* I; z
2 S% q. n j" H, J/ {' c
火狐插件,用猴子0 s0 x, r' a" B( S, H- F
) D* J7 l/ L1 c2 ^4 s3 n- ivar debug=false;
: L7 U4 t, K9 Z' u' Svar CleanHideObj=new CleanHideClass();
; j3 }2 K, \3 S a F6 k7 q2 {3 w+ @! R' b; j' E- h. W
function CleanHideClass()
2 @3 A3 y% j- z: K4 W{ ' \% o! ^. G3 s, Z9 Q
; H% u, k: w: a1 F# H0 p this.on=function(id,bMZ)$ \# H! ` y( _, n. @
{: n9 U D2 [% j" L* d
2 ]9 E0 X; F" b* B9 J if(id == 0)1 g* ?: U9 A0 P; T
{' \" e9 w$ V h1 j
var page=/* document.getElementById("content").contentDocument */document; 6 O8 P7 D: S. k, x
this.RemoveHide(page,"span");
% W6 a0 o4 y5 y" ~' g this.RemoveHide(page,"font");3 g/ ]" u& {: B& X, B
this.RemoveHide(page,"div");
$ `5 M" q% [& O+ T1 Y+ G this.RemoveHide(page,"p");
. r" k# X$ K$ U1 d, d- w 6 J0 S+ H1 W( E& S1 {8 T
}
" v9 x$ J" }0 D# B, ]3 L ' E1 g$ m3 z; h# ^% ]7 n1 U# d; Z9 N
}
) t2 R0 a d7 Z9 p+ z5 s this.getobjstyle=function(node,prop)% a( l) B% K0 q# M
{
. L2 m* m% [. T# `# Y8 }9 O6 k try
' U6 w, @1 a& w9 A, A1 Z$ {' u {+ k3 l4 n! x( f5 P1 q" K
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
" P6 D9 |7 r+ K" C }( ]6 {( \- p: l- N9 ]
catch(e)0 a+ ]$ u. c* a$ W# a) ^
{! m' o- |# n4 z4 p3 ^) j0 e" H
if(debug): G% K4 Q% ^- f6 |& S
{
' f; l; R3 n. J8 i alert(e.message);
' L# J2 N( z( P" F }
+ W2 a5 \7 F3 W; ]3 j
& p4 j( H: p2 U3 F2 {. j return "200";
4 c9 ?; s, I. o1 ?3 {/ a }
" j/ u# z! `" a }
8 s" Z% `; ~4 e3 w% S* x+ L 3 I, T1 C% r4 ~! M5 Q5 P
this.RemoveHide=function(page,objname)
3 F# Y: b* m& u' y" ~6 o$ `/ n {5 U3 ?; d5 w2 k7 r/ ]7 B
try
# {# W3 s6 Z* n {
) X, ~' N7 }- } var minValue=15;1 \/ o- \. p/ {5 ]
var objs=page.getElementsByTagName(objname); G) p/ I6 n! b) Q
+ O4 M5 T9 [/ {& @! o1 ^" J if(objs.length == 0)
/ d* \! M& ]( @ n4 R! t# @ p: v {
( V8 f8 @( A- B8 K9 j% A1 T if(debug); N7 r/ A/ f3 H! E1 }4 l& l& t7 y
{# K- ?: x& R& t1 G
alert("no object found!:"+objname);: d- I4 L, C5 a( \' E* |
}
7 K' Q+ u, b: `# q }
+ r! W5 ~0 o7 ` else
) V9 q. }) A1 B2 t& X1 |0 S {
" u3 t* }$ b* ?: m
% H& s5 h+ ?- Q, v8 e for(var i=objs.length-1;i>=0;i--) . I- o, k" j c
{% y I, d- Q+ E
var node=objs.item(i);
7 G0 r& N6 l7 I4 ^$ J5 R9 D; {
; P- J [' l8 D* a3 s% ^7 L ! J F4 c& b2 ]/ F" `5 I
if(this.getobjstyle(node,"display") == "none" ||
3 p9 I5 i! [& y _ this.getobjstyle(node,"visibility") =="hidden" ||2 M7 k. k& J, G& Y; r* W+ E; X
parseInt(this.getobjstyle(node,"font-size")) == 0)
# U) d$ B0 j& @! l% s8 G) d5 V3 D {/ H1 o2 q! K2 R
if(debug)
# @6 Z. {2 W( d q4 I( M {
0 J2 y( D0 M/ z" G) D5 M alert("remove invisiable!");
8 p r4 o. M; [& c }6 x( N. m$ n. R7 A" @# e% Y$ Q, T* p
node.parentNode.removeChild(node);. n( E0 f0 k; ^- l2 j& c) W
: {2 J- i& k# i9 _) `* h- d5 w
}
) Z* Q7 Q; ?3 n% C+ Q; F else
; q" F7 W! N5 y5 g {" O+ D+ e2 e; O& ^$ T% U
if(node.parentNode) - w- w" Y/ A( A# I& t1 P
{
2 k* q/ \- Y' ^& V% r7 O3 x var orgNode=node; k% Q. A3 R" Q5 I I6 s8 g" I
var orgColor=this.getobjstyle(orgNode,"color")* w5 i- G0 I& Z' c# H
var orgRGB=getRGB(orgColor);
I" C: O) C* H- T2 v % m8 ~8 e: O+ t9 ~# @0 D
var parentNode=node.parentNode2 G- c7 l% Q* V) Z2 a5 h
var parentBgColor=this.getobjstyle(parentNode,"background-color");& o( n! u& g* m; U1 Y4 x: x% x
& O v' z5 U9 u3 Z$ ?9 R$ _
var isLast=false;
* K1 o( G. q. z$ c# Q( T& I; ] - Y+ P& y0 k/ {0 L
while(parentBgColor == "transparent") ; c, N G9 I4 [1 u
{8 r1 a- S: b0 f3 l
- W9 B' u- C* t3 i. |: I! f
' l! m3 Q1 C+ Q' w) d if(parentNode.parentNode == null)3 O8 V2 i, D$ B
{1 Z, c4 u, `! }* o
isLast=true;9 b0 {, K0 n# y* |- L) u9 }9 t
break;9 i" d! h- J6 `6 O
}
; p% N3 u$ x+ D: D/ N parentNode=parentNode.parentNode;
- u5 }5 z# N5 K L2 j0 a parentBgColor=this.getobjstyle(parentNode,"background-color");
& G3 }9 P- a( n- O f) x% X+ b
if(parentBgColor != "transparent")
% Z, W _" i0 g' J0 u& n% t {% P( A7 w( K$ g( G( m. C4 I
break;( A( t7 B6 w# Z, h" Y& g
}
+ K' L# ]: v7 T* K }
% \) e% S) j7 z& W if(isLast)
* k3 w8 Q) i h2 }' U0 |: X {, p4 s) N/ j4 [* i- u4 n8 S
if(debug)
( V0 `0 Q" W: Z7 N: _( F {9 a7 N$ S" ?- u8 U8 L3 l, @( F: T; N+ N( i
alert("last!!");" Q/ J2 j! F" h/ F
}) F' V. p. {/ Z& d
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ [7 q* ]! l; x {( o# j& C: F0 C; |$ ]8 B3 I: L: q
orgNode.parentNode.removeChild(orgNode);
9 B: @* G; y7 l, H) b }
* s. C4 a# E' \8 s/ ]* K' h }
' Q4 ~% m. t3 `5 Z else
/ ^3 _$ U2 }" h5 I/ r2 v8 q, W$ m5 M( V {
4 |0 n* w: o% P- {# R if(debug)9 |7 }9 z3 l% {( T
{) e8 C+ a4 r% N' r: V; M
alert("compare color and parent bgcolor!");- l1 N: C! ` ~% L
}7 D. y. Q" e' \5 M
parentBgRGB=getRGB(parentBgColor);
( I! ?8 L7 m% N/ ~) n+ H4 P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 }2 U. p; R6 t! U+ Q {
$ i; P3 b7 ^/ r- B: j3 f orgNode.parentNode.removeChild(orgNode);
8 D# [" n& n8 v1 }* b }
- [; n' p' Z1 c }4 u0 _0 i/ l% G H2 S
}
* n( N# z8 l$ ` }
6 R, r! W F) k* b( N9 Y# H }
/ w Q3 \% `, t }
5 U3 N0 A% a( p1 Y$ x2 E 1 }- w; J8 z* I& n9 i
, ]/ t0 \: Q8 E; k; T3 ~3 _) d var itemFrames = page.getElementsByTagName("frame");6 W5 E v" b% I/ R3 \, c9 Q- b
var itemiFrames = page.getElementsByTagName("iframe");
- G- o3 N: C, E, c+ b - D8 u# @- T7 Y, Y; q
var frame, iframe;
4 M. H8 a$ G, [% C/ C$ f if (itemFrames.length > 0), r8 ` ~' ^6 J2 q' j% C
{# Y. j7 j% _0 a4 S: O' V
for (var i = 0 ; i< itemFrames.length ; i++)
8 m' T; l9 I: ?+ ]+ q; K {" R3 W. R& C' s" }7 a
frame = itemFrames.contentDocument;% a# N2 K0 g+ x
this.RemoveHide(frame,objname); " W# f3 t4 Y5 ?9 E
}9 q0 g- P- F5 n! F+ ? }
}
% a/ {! t9 n# b, K2 ? if (itemiFrames.length > 0)
+ ]7 `$ E" C$ m" S _2 ?# U9 I1 J {
7 q; [, W* t6 ~6 v4 @% G for (var i = 0 ; i < itemiFrames.length ; i++)
# n* T( W& ]+ d$ f {
$ X9 ^, \" p- Y. ?, u& E0 E iframe = itemiFrames.contentDocument;5 {5 N2 d* l4 O& S h" G& N+ o
this.RemoveHide(iframe,objname); 7 g8 F6 f# P: s' z
}
$ K) l+ K7 E6 V O* Q; b T }
; J$ X X% v/ J" C }% \% K- ^( w2 O& n# \5 k- S/ Q
catch(e)+ G4 Y; z2 X! r" t5 Y6 G4 F) ]% x
{1 J/ J6 \; L; F3 F9 Z
if(debug)
; }5 u0 U/ W: u( } {, g9 V; g, A+ M- g5 q- S
alert(e.message);
3 `: t# ?: w7 ]* t& w0 [ }0 u `1 L7 P# r9 H. d+ p0 U
}
$ C6 h6 P6 U$ e4 U7 x* c }
7 a1 d) ?# M3 t) p' U 5 N' P% v7 E0 l7 U& ~, X
}7 O0 }* ^) I. J- U t( `- M! q
6 Y! S, G( V. q* l4 C
function getRGB(colorString)
; M( e8 b8 r1 f' H' z{; H/ h! e) k+ ^$ Z r2 o7 S
var RGB = new Array;9 z( q$ r! |6 \0 u/ T
var tempSting=colorString.substring(4,colorString.length-1);- K! W& \$ _5 |3 V
var tempArray=tempSting.split(",");: H' j, c% d k/ G9 j" C' [
. N) U; H: N# k# W& k5 H
RGB[0]=parseInt(tempArray[0]);# T# J* ?+ E" e
RGB[1]=parseInt(tempArray[1]);2 d' g, `$ r O1 w5 k& S/ G T: a
RGB[2]=parseInt(tempArray[2]);
9 {( ^* M6 n& A
& t( `0 L7 ]1 e% { return RGB;
" b% v: V8 B6 ?- i @}( E- w2 k+ B6 b& Z. J9 m
function keys(evt) 8 B; g o5 \( @4 e
{ 4 U4 C+ W7 z( T: D% t
if(evt.ctrlKey && evt.keyCode=="81") " J) L3 v$ p1 k4 K: _# s
{ 2 O- U& J- m, h( x. x0 J6 c- A
CleanHideObj.on(0,1);
?! a" o, `2 S/ U: @; Z: N alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) D- a- E. T' ^( N + @) e% g. ~" j' N- j
}
8 g- A2 _4 ^" p }
/ T! s7 ]6 Y3 Q7 a9 |6 vdocument.addEventListener('keydown', keys, false);
* L% m3 c- P- A( j" h" `8 LGM_registerMenuCommand ('Clean Hide',5 H& ^( B! w9 Z: O. y
function(e){
& s* d' {% t% @/ A1 `CleanHideObj.on(0,1)" Q( C1 t" m( S/ C0 ?8 {& P" Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 ?- q; N; R) z
});; b. W' z) c7 [' s% b
|
评分
-
查看全部评分
|