|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . V. _/ @4 I3 A+ C1 E7 W& t
: K; j( ]! W+ i3 `
火狐插件,用猴子
j: [0 p- r; b6 x; P2 ~
- u7 r$ R6 m' ovar debug=false;
0 g; N/ ]& s4 P6 z1 o& l+ ovar CleanHideObj=new CleanHideClass();; u0 `2 t/ {# u- {/ m$ T
. u: q* k/ O% i& Q0 q9 {& s' Pfunction CleanHideClass() / e6 h) ~2 f# z9 ?
{ # Q1 x2 o, E* I% G$ `
, F) M0 Y" D8 @/ _* Q this.on=function(id,bMZ)$ u# Q- H: U( |+ l) s% i: V
{! O. H( v: R; u
. }2 [, D9 @! i8 \ if(id == 0). M' w) C! Z- N
{
/ H% ?' N5 N( u H+ c& a% `* N4 j; V$ i var page=/* document.getElementById("content").contentDocument */document;
5 @% Y0 Z" y$ E% V this.RemoveHide(page,"span");
- j7 v( ?* d2 B0 L this.RemoveHide(page,"font");
3 z. B* h {, ?$ S2 d this.RemoveHide(page,"div");$ O L& P" R+ e" r2 o8 z: I4 s
this.RemoveHide(page,"p");
! u% L% O0 W& Y 3 w/ [ K! h3 U5 [. ?; l n7 Y
}% F$ h: f/ e; O. X% c/ v
1 o/ ]$ \# g& s. b) ?2 `
}6 X/ A. M/ D/ r& O8 R. Q1 v
this.getobjstyle=function(node,prop)
5 A$ d. T8 j* D9 W" B$ i0 Y" r3 V) ?: d {2 k/ _7 t9 u. j$ j6 B7 |
try
3 i0 s& W( x- b* u# } {
, i: v+ `/ ~6 `. }, a! J9 i0 | return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: ~# |" B: _* P1 H }+ z! x% d1 j b5 _8 I5 D7 g
catch(e)
; O* p1 `; C0 m {9 S6 ]6 G( A, D: b3 w" R- U
if(debug)2 Y8 W0 g0 V. J# U, g- m7 K. P
{ k1 d I T' z$ T
alert(e.message);
8 h+ a% d2 {* S# [2 P, S" ~ }$ ~& t( c0 R7 F
+ n2 I/ p8 V8 c1 \2 V return "200";
; F% I1 v% m9 f# i }
+ B" K8 T) K* H0 @' G: W3 \ }5 ?& k4 x2 q! a* o, `& U2 E% I
" Y2 M$ x3 e2 g1 ?1 g S this.RemoveHide=function(page,objname)
. f9 ^" P7 Y( S) h: t- b' y9 c a {3 f ^% A* j0 Z
try# D2 t9 V- o, E) o* u, M: G, O
{
7 B# [2 W- e" C9 d. I var minValue=15;
% b3 {) W8 v+ I9 S! M& @0 B var objs=page.getElementsByTagName(objname); : y" \1 t X# w$ ~# d, |
2 L# @* e. `. f, @, e; h3 f if(objs.length == 0) 2 | I$ ^8 r& Y
{
- X9 u3 T7 s" r6 l. G if(debug)
8 `8 }+ [" k) y9 b6 W( d {8 d3 V3 }7 p) B: p
alert("no object found!:"+objname);
- x0 F4 m. Q }* X. `4 o }( u7 R3 N" G, @; A `) |
}' L" [2 t( ]2 ?
else
- c% h9 Y: k" L) \& e, w1 H {0 W! b* h. o5 n: x
: g$ C9 ~ `3 O
for(var i=objs.length-1;i>=0;i--) $ f$ T/ d, h2 p( ?! W+ g
{
( F, r$ b0 J3 p( k+ s var node=objs.item(i);
3 s- b* v+ ^; X% A ' `% d0 h' _9 }3 d) f; K9 H' e
1 m0 e# j3 V) u: U; t' a6 C% q. D if(this.getobjstyle(node,"display") == "none" ||' j( k, {% ]" a3 ^$ E
this.getobjstyle(node,"visibility") =="hidden" ||
) d2 C8 {2 c% I( M4 } parseInt(this.getobjstyle(node,"font-size")) == 0)
# R' x5 L1 U+ |& c! |3 d8 U: A {
" k* c; B* @# e* a0 a1 e/ a if(debug)7 l# ^! N3 }9 _/ O7 w% q
{
6 ?6 M4 T; U* J1 C alert("remove invisiable!");
' F+ R& {5 x; ~3 O- V3 y }: m0 f& i/ u/ @) {) y
node.parentNode.removeChild(node);7 G; i6 M* R' ?. S8 N' [4 |. _: l& K
5 Z( T* [( u' j* s, k+ h7 Z }
" v% X" V* E' D1 A: q: M; [ else 4 C% P- S/ n! \, R0 W2 y
{
$ T" q, y: I1 X% F0 Z' s' m- K if(node.parentNode)
" |6 c2 r+ C: R- z4 r1 q; H {
1 N% [2 @( g* t- @ var orgNode=node;
* J+ d* ^: O: j! Z var orgColor=this.getobjstyle(orgNode,"color")% I5 j0 Q$ d( _- N$ L7 b, Q7 o! Y7 q$ Y
var orgRGB=getRGB(orgColor);
8 y+ j0 l. _3 S0 l. M2 ~% a
# K; c* {5 I" I g; w7 j. \ var parentNode=node.parentNode
' F; `) Y9 ]+ V4 ?9 t6 U var parentBgColor=this.getobjstyle(parentNode,"background-color");" y9 |3 U4 `; P" j9 ~: ]1 y* a6 S
# K' H# N, @3 E
var isLast=false;9 s& }5 I; l$ l+ w* s7 ?! x0 j
4 y' {- |* t1 F4 Z6 f( H) z5 R$ u while(parentBgColor == "transparent")
7 ?# P8 R6 E' [ E5 Q! Y9 {7 w5 y [3 | {
+ U b% q3 }! O. c
/ Q2 _( m' `' u, }# h" j
% W0 @" j0 S" o0 P. ]( p1 C+ @ if(parentNode.parentNode == null) z) N( y/ m/ s; e3 B& k/ `, K# I
{% }, p5 t, t" \" b- i
isLast=true;
+ y2 D) h% `" U7 T1 v: C8 T9 K break;8 ^# w( N$ m* m
}& Z# h' \9 ^. v; @, z: c, `
parentNode=parentNode.parentNode;
1 m# U5 x( f; [, u$ @ parentBgColor=this.getobjstyle(parentNode,"background-color");
. t; o! X. }; R2 X9 _' {
q& ]# o1 a) k' q4 a3 A if(parentBgColor != "transparent")
0 g; v ^0 c9 r; t {
, ~& U0 Q. y0 T' g! G break;* m$ P' F' q2 _+ M9 ?
}
$ i; h. C9 d5 v3 d( O }) I( ~) g3 W2 k/ G9 x4 ~9 d
if(isLast) 7 ^1 s6 b2 e' E9 h
{, b$ B5 ~% l: A* b1 i
if(debug)0 V) Q, l, z6 c- N( \9 l
{4 f1 k8 M; j; u6 y
alert("last!!");2 I+ u# P% ~; I3 q1 c$ v j8 D
}
9 j5 h% G# G( o if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; m6 y* Q! f* e {
e/ }0 D0 S6 o# ^" N" \- {7 X orgNode.parentNode.removeChild(orgNode);
9 h, e6 u' F" e* h4 _ }0 H$ m# _# P* ^2 L! t3 x: [% Z: w: f
}
4 q5 O; i( Q# l0 C5 o' T else) [1 M! V7 h, O% V
{( v: |3 D) E7 O
if(debug)
. a/ X0 m6 p, o3 ` {% K U2 O9 l6 D
alert("compare color and parent bgcolor!");) Q" m/ `. k/ i8 u/ Q5 e
}
+ c D" ]9 h( e9 P parentBgRGB=getRGB(parentBgColor);2 Y% l* s8 X% }0 r
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). L5 S/ Y( K: ?2 ]) N8 l
{4 R" f" w2 ]. C8 l
orgNode.parentNode.removeChild(orgNode); : c t4 }) r5 G; V8 K# s" l
}0 g6 M, p5 v' Q& E& `8 P- y
}
% {$ l3 p9 E8 Q3 x1 l" O$ R, n2 B }
+ k c [& D$ n( X7 @ } ?8 d( x7 W% R7 m# o
}
0 ~0 k6 j6 y+ _$ X7 x7 H" I9 H8 y* S }
& C7 J2 ~* U- l0 L: C 1 w8 w9 v- L4 M1 a
. D+ R5 ^# c& ]/ J# {
var itemFrames = page.getElementsByTagName("frame");
+ D+ T) z. _( p3 Q! G3 y6 ^" F3 C# B& H var itemiFrames = page.getElementsByTagName("iframe");
! b# ]* c5 z/ w* {
6 m& m Z+ {0 I% Q8 U% K$ p var frame, iframe;
/ J/ x& \1 J) z if (itemFrames.length > 0)
/ h" e: O6 c: K4 T! U& r3 I {3 t- }7 R0 [! T+ r
for (var i = 0 ; i< itemFrames.length ; i++)
* l/ ]1 p7 G. H* O: z% @" ] {
2 Z2 Z7 H" n, H1 y) E frame = itemFrames.contentDocument;
( ~) J: z% p. z3 o3 I+ @ this.RemoveHide(frame,objname); ; @, |6 z9 d% z. t
}7 \9 e* D b S$ |4 J! L# I
}" ~8 S/ l: J$ w" K. P
if (itemiFrames.length > 0)
$ Z9 [, K. {" M) m3 [. q {
L8 _1 }- A8 B) M. c" v. y' w for (var i = 0 ; i < itemiFrames.length ; i++) 7 L3 `$ a* r$ R _; m; X3 d
{9 K% c( ^ a8 ^# ^1 X
iframe = itemiFrames.contentDocument;
! r/ g" o8 c! r, r9 ^ this.RemoveHide(iframe,objname); 8 B ^+ Y% @4 y" z
}3 g' S' a; l% H+ p" ^4 ~5 u
}7 f4 i/ z4 {* Y
}0 J) j9 g o; P0 k2 ]' w% C
catch(e)1 `* ?- p0 K8 G! _
{
5 C n( j7 U; L0 }/ B3 l: q if(debug)
+ m8 Q0 p0 B) n' X, w- P+ c {
2 f& e) N4 A3 n. C alert(e.message);3 b8 x) D2 l$ O; [# h v
}: N) Y1 Y( N0 A) t' r
}+ j" B# y! ? S: m- i6 a
}
* @8 A- c: z% I7 Z8 U; M4 K
4 U% l, ]% u% O" w+ S5 z* |}
& Q" g/ E! b+ g: n0 y% V9 e7 ?4 G5 }; d g( \" ~. a1 S
function getRGB(colorString)( P5 U( k; g" x) [0 t, A
{
: D5 j) y1 z2 E8 W$ _ var RGB = new Array;! c! ]& G" I6 `( z
var tempSting=colorString.substring(4,colorString.length-1);9 r/ g1 F; g4 \; {& I) @% t t
var tempArray=tempSting.split(",");: w* \+ J0 I# h# W6 I" I$ Y
P: q0 [, c! |, t/ C
RGB[0]=parseInt(tempArray[0]);1 D O1 }, U0 j5 X7 i X4 P
RGB[1]=parseInt(tempArray[1]);
" c4 _* ~4 }- k RGB[2]=parseInt(tempArray[2]);
1 V/ I* S: N* q2 Z
+ D% y# c( h4 v3 d return RGB;
P6 G' H. X. l6 M7 Z: e/ h& i6 L}
/ P! P P+ K$ V- jfunction keys(evt)
2 s* V+ Y5 ]! d4 s( h4 d- h {
! V3 u. L* S" R- N if(evt.ctrlKey && evt.keyCode=="81") - L" s0 ~9 A3 O; V8 l! R
{ # B" Z% i4 ^# p) j8 r+ H! k
CleanHideObj.on(0,1);) y9 q- }4 g5 R1 i5 R8 w- O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 p/ s: P6 W" e% X: E& ^/ s
7 R. K9 m6 q% d. i" x }
+ w' e+ n- R. v/ E; z } . _! X% T, h& P. ]
document.addEventListener('keydown', keys, false);
4 E! T. @+ M3 `& z9 Y3 F/ LGM_registerMenuCommand ('Clean Hide',
' b8 I* y: R) d' wfunction(e){
) _/ o( \. o. l WCleanHideObj.on(0,1)/ B" {0 T6 e. y4 S i* x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 z- h2 p8 ?& P6 q" w0 Y) O9 ]});
7 o3 W7 k! p6 K5 ?) o! ~8 G1 G |
评分
-
查看全部评分
|