|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) A/ | r9 `+ f( {9 C, J- F r
" U9 i2 F" f+ Q- N0 ?0 I% n5 Z火狐插件,用猴子
4 A' n7 ]8 b- U* h; k* Y% N. y e; h" V/ a5 v7 B$ x
var debug=false;
/ k" R0 V' r5 G+ lvar CleanHideObj=new CleanHideClass();( n" z7 k+ {! k
0 k4 O& f6 g4 O) m& ?1 ]3 R
function CleanHideClass() 0 M9 X$ }& B/ I
{ / {8 W. R2 _6 z% g
9 n! Y: G R2 F; H, }
this.on=function(id,bMZ)
% q- ]; v" ^6 s# g$ d+ Y1 [ {" s$ q& K" p, H, T% L
; t" t& [% @( ]- V
if(id == 0)$ ~" G* B' V" A3 f/ \2 e1 j
{
9 T# ^2 ^9 O0 u$ R0 ~ var page=/* document.getElementById("content").contentDocument */document;
/ J' J& U8 q$ U% X/ a! q this.RemoveHide(page,"span");
7 k/ C: X, {" _ q) D3 @ this.RemoveHide(page,"font");
' h) x! b1 c+ x this.RemoveHide(page,"div");
8 p$ X. l2 A/ L) S$ O this.RemoveHide(page,"p");+ S. F7 w: o* G; n. u
! [5 o8 X% e/ n7 F" x9 Y
}
3 U( J8 }! B& T) W) ^& G' q' f
, E: U, o9 G! v9 ] }! N! N7 A( U' o* K
this.getobjstyle=function(node,prop)
- a4 X) |. K0 @; G$ s {# X* N$ L( B+ [& h! l4 B
try
- q! T/ ~4 I3 ?8 b8 Y {
7 V4 y4 H7 `2 V return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( [, v4 E) B! m4 i6 P' g }6 @; K' p% Z, Z$ {: @- [0 [3 N
catch(e)5 V, Q( ^" A, q" U& d3 o8 u% s
{+ p* M5 J z% n
if(debug)* ?6 i q5 b3 O- O. A/ G/ E- Q6 ^
{* z9 X+ c' s/ |) O; X: `' j
alert(e.message);9 V0 e( c' X v+ u( g3 y
}
2 M) O6 j7 |: m8 g0 Q& x% t3 H
6 T4 N K/ g4 x) p0 r6 N" K$ C8 v$ ] return "200";. t% V" f% @" X" w/ I. n
}
' z+ a* G" \( P+ o" V4 o& S1 k' D }/ x& |( A/ q$ d% z( p. J- n
8 L* x8 D- Z8 A8 Z7 B; S" C
this.RemoveHide=function(page,objname)3 Y) c# s0 X; n% h/ h/ a
{- d' x6 s4 D: I L" F
try
! Q- r8 X3 D4 y" J {7 c5 @. w) H3 s# d7 m4 U6 `
var minValue=15;
+ S& `) Q+ V& M var objs=page.getElementsByTagName(objname); 8 y! x: u' u3 B
8 s% d: Z K# C; ? if(objs.length == 0)
7 B7 d: L/ o; v {# a. i' n9 ~. K+ O: ?
if(debug)
( {+ k" E7 s3 H5 | {
* o0 M J6 N" Z" ^7 O) m1 p) u alert("no object found!:"+objname);. A! g+ ~% n# a6 Y: R9 j5 H3 ]
}! d( _/ v7 t d e
}
3 J3 B" r; d$ D5 t else
5 [, K5 G& P# u8 s2 L {
9 U( M0 I; F/ q8 { 0 e" Q" Y3 H1 R( P- B
for(var i=objs.length-1;i>=0;i--)
/ j! u- o( y$ V5 ?. A/ t {7 P9 P A+ V9 ]
var node=objs.item(i); ! O$ O" h$ {$ G
8 S% a1 k, ?4 \ 7 f& p8 r% e- S. k
if(this.getobjstyle(node,"display") == "none" ||8 {& R* S8 S1 `( y" s6 \
this.getobjstyle(node,"visibility") =="hidden" ||
1 T# T1 a5 F: ]' i3 Y8 D* { parseInt(this.getobjstyle(node,"font-size")) == 0) }6 W D6 Z# P8 H$ ?; ^
{' O. q7 }1 f& k6 D- ?
if(debug)
' Y- I% b2 L9 P* f" c+ d {1 C/ \% _* f; R8 y5 }) V
alert("remove invisiable!");* Z, i( t- X a. O1 r2 x+ k
}, X# a. I: X* l8 r
node.parentNode.removeChild(node);
* F. f. b7 h: ^" S, T# d* O
/ o. Y' p: A6 e3 G; d! P* l }
- h- R& C4 g6 T" D+ o+ `( x else + [ p9 _ {( |# Z+ u
{
4 n9 T$ s8 x' T; k if(node.parentNode)
7 T/ S, r6 k: {( {2 H {
2 `' e( n2 P0 M3 t5 b+ e var orgNode=node;
3 T1 u3 V, l' ~: a% X var orgColor=this.getobjstyle(orgNode,"color")
& [9 b( O( [/ @: R; \) n- F, Z var orgRGB=getRGB(orgColor); 2 o; K0 n5 y4 |0 ]# Q
+ f( K+ W* V9 H5 O var parentNode=node.parentNode8 h q# q; A" g7 a0 f! r( N7 S
var parentBgColor=this.getobjstyle(parentNode,"background-color");9 q& z: F( v3 u5 q% M/ S
2 H" L/ e |* i- Z4 j$ x
var isLast=false;3 J+ X. `% |5 j: r& h
' W& ]" r4 z$ D5 T! ?7 H/ r3 R while(parentBgColor == "transparent") 8 i8 \; q+ j( L. s, H; k1 u
{
0 O9 z+ l2 D. }, s$ F$ o ( F. q3 F) v8 Q# l4 {. V) E
5 Y9 [$ V9 D0 {# o6 Z0 ] P. K
if(parentNode.parentNode == null)/ @' k3 p% D0 t4 a# {
{3 V, C+ M' ^' V# X
isLast=true;- u9 l& l+ O' J8 {; o7 m' a; x
break;+ J* ~2 S/ |- X) Q; o- \
}
H! y. U: Y& E parentNode=parentNode.parentNode;4 S% e5 H( F& U0 @
parentBgColor=this.getobjstyle(parentNode,"background-color");/ e3 d) k" I8 X3 S& k
) \; v% N8 f* ^2 M. V
if(parentBgColor != "transparent") ( t+ I$ H' L- z# h4 t3 N/ w; u
{
, W! X {/ }# V$ E4 B& R break;( M) P, X/ Z/ o4 H4 Z8 w
}
# P5 G+ m9 z7 X }
* v' ~( ~/ i$ V3 e9 F n% g if(isLast)
6 d" f! K& I; B1 P: G7 V {
i1 f: K6 A$ O( ? if(debug)8 ?; Z# h6 N" d3 v% T% ]# N
{) |1 T$ H1 a: p+ J* ]" Z
alert("last!!");
/ K3 B# x; v* j }
' U \( z4 C, h& t$ X7 E( E if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
0 }( e- K2 I# W" f7 F {. K+ R+ h0 F. W& A
orgNode.parentNode.removeChild(orgNode);
$ W3 h7 |* Q( E$ D* E: K$ X }
& f, C- ]; B) R1 u4 \3 X0 c9 D! b }
0 {, V- z: ] h2 X- d2 W else
4 i( r* p" _8 H/ \3 R6 l# \9 P# {: ^' u {
! A. E. ?* u: s; d: } if(debug)
3 [5 U: Z+ p# f& Q+ y; D# u& T {
# Y0 q6 a: V( h" D+ h2 Z. B9 j% l alert("compare color and parent bgcolor!");
( H6 \9 L! E# @. T }
4 Y+ o1 V) y( {! }# @6 R0 k6 z parentBgRGB=getRGB(parentBgColor);. o3 P2 A) V3 J. o1 Q! s
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)); a3 y0 I- |( t% R! h" k7 e8 J
{0 Q6 H6 b( F6 W3 M
orgNode.parentNode.removeChild(orgNode); - j: M4 G6 o% H+ N: f+ \1 L
}7 M, }9 g* t3 R+ Q( R5 T: |+ o+ O
}5 ^3 ]2 H5 Q% y' N8 l0 P, ?& O
}
- F! i: C. s7 s* q7 Q- }6 w. U- Q9 ~ }
/ b' X/ R- r9 \1 x }7 W$ |7 Q( x2 M8 {1 h a$ |
}
. t. p8 c, ?* @! s1 n, J
) F$ e* d6 L. U7 t- K# N9 S . J5 n& g. u! d' R# s
var itemFrames = page.getElementsByTagName("frame");3 Y0 O% m% }8 i9 c. c! R1 Z" S( f
var itemiFrames = page.getElementsByTagName("iframe");
: [5 f u/ K6 ^' P4 J0 ~. t4 [9 H( C
( k' t% L" e8 j4 ? var frame, iframe;
. N. V9 |+ x; R if (itemFrames.length > 0)/ a8 p# B- D( X% \0 M; U0 ?
{0 f" K$ @& B, h) F) v
for (var i = 0 ; i< itemFrames.length ; i++) 7 D3 E7 p0 X- f, h
{: ~$ H5 A1 v$ \8 H5 A
frame = itemFrames.contentDocument;4 U7 A5 A0 H8 p" b) ]5 ]
this.RemoveHide(frame,objname);
$ ~9 y M' D9 N }
C; l. h# E7 j3 D0 }4 M }% W$ L, x% I6 O8 ~. k
if (itemiFrames.length > 0)0 F8 } a' L0 Q! ]5 W: O
{+ L( v c* v" ]! K' Q
for (var i = 0 ; i < itemiFrames.length ; i++)
7 x. S l% C: i2 \# K8 p+ u {
& J3 N. E# [" l- d+ t3 U iframe = itemiFrames.contentDocument;. E, C7 T' W) j; m. ^
this.RemoveHide(iframe,objname); " J W! A1 |6 {, w
}
/ S% V4 A; X. `$ n9 `3 n }8 B1 l3 w2 M( I d" D! M
}
, B0 j. V* @* s) D) h catch(e)
" M N$ X- J8 c" M. l# {1 Q2 B/ P {
6 m& i$ S" w9 q, S if(debug)
2 {$ Y4 `8 h( S: v {* T% t& F9 v$ s9 [) w
alert(e.message);
1 A$ V2 Y/ i& N* Q @, W3 j5 l }
* h. O% T) n8 q7 [; k }
7 ~* H8 m ?6 b5 `) c* W }# w5 s2 x% a0 I" o3 C
! h" S2 W* J: U1 Y9 \3 |}5 w" e ?, ]" |2 Y
1 q5 i4 @9 ^' T( R& bfunction getRGB(colorString)$ ?: y# q; b; O7 z$ b
{
+ W* r& o2 Y- P6 ], ]$ h' I var RGB = new Array;! {3 G, r% Z" N5 D
var tempSting=colorString.substring(4,colorString.length-1);
. I) ~# Y+ k0 T4 z' V+ [& e var tempArray=tempSting.split(",");
5 q8 L9 N. l3 l0 z# d5 z( ]9 k- {. x. d: v- E4 _: B
RGB[0]=parseInt(tempArray[0]);+ n' Z6 i4 Q& o4 I/ E7 T/ x
RGB[1]=parseInt(tempArray[1]);6 E% h7 |4 T# N, \1 W: U6 H
RGB[2]=parseInt(tempArray[2]);
: f; n3 B6 n6 ^1 a' p' x8 b8 M " ]6 P: X9 }1 A+ s) b
return RGB;+ c) W4 ]1 r+ Z% ]: q1 ~
}
0 `: k( }" r$ E) b& Y. N" F& ]function keys(evt) # l+ k4 V; c/ D
{
9 B& T0 S. K- | if(evt.ctrlKey && evt.keyCode=="81")
/ }% I% n3 }2 h. h- f# f& p9 N { 6 L3 s; u$ C/ v { [9 [1 g
CleanHideObj.on(0,1);
! @6 S* |9 J# R0 U0 a5 v alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! D( J0 F* }# E. A+ b. m& D+ u 7 v% C4 H5 {) J; v; ` i
}
; w& q& r: U6 y2 g }
+ i9 B5 W) R$ X) A% kdocument.addEventListener('keydown', keys, false);
: `' E1 _( _' d: DGM_registerMenuCommand ('Clean Hide',
5 s1 ^9 W8 B) L: r: Z! A0 U) `function(e){
3 {! U" I' O) l5 K/ \. [! q$ qCleanHideObj.on(0,1)" n" q. ?) u/ t) K7 }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 ]7 u6 p. r. N( r; F$ H});5 Y Y3 W: }6 Y7 H4 r! c$ M: C
|
评分
-
查看全部评分
|