|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, h7 R' @, H) d2 D5 m( x/ r- \' N m' M1 ]/ W! l9 ~
火狐插件,用猴子
8 p7 o* h/ x4 Y/ g! _ w" K% K# p" f) C$ ~0 @
var debug=false;
8 Q+ x, O- U6 I5 lvar CleanHideObj=new CleanHideClass();2 m7 q v" C$ i3 |9 V2 p' x
# C1 G: y5 t0 c$ E7 H d
function CleanHideClass()
4 Z. D3 ?+ w) O4 X1 C# S{
' Q7 f) }% s `) J+ \" Q2 m 0 \- j3 [7 F- e0 a4 I! c3 V5 z2 L
this.on=function(id,bMZ); ~( R5 o9 a0 g9 V+ s& p
{9 ^" w) X6 P. ~2 @) A
% ^8 G( O4 ?' u
if(id == 0)6 n4 B) N- a; D6 N
{; c( o. m( a. a0 B" J" J" I K
var page=/* document.getElementById("content").contentDocument */document;
% l# A$ `3 U/ b2 F& { this.RemoveHide(page,"span");( R9 A! n3 r2 w5 I# m, y
this.RemoveHide(page,"font");
- V# H% B1 B: k( S- q% i! y! L this.RemoveHide(page,"div");1 B y2 C' S8 z
this.RemoveHide(page,"p");
5 J( h7 S2 i* S1 ?
. y$ U" n1 S) U1 j8 e8 E }
6 \4 T# ^: V2 `
2 D, \9 ^6 y8 k }; Y2 |! U8 b0 ^1 y# H4 ^3 B9 G' a
this.getobjstyle=function(node,prop)
+ `0 m3 ]+ Z8 ? {0 [% c0 _ \' g
try" p9 }3 J1 x9 ~
{5 Q- T' V. f0 f3 l- V6 j. |
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ c- a4 p# }' W! R6 W
}+ Y1 S& U) }7 \. k' t
catch(e)# @& |0 X x, E: ~/ o: y
{
$ {9 m6 g0 \2 M1 e5 l if(debug) g: y! I5 t1 Y+ V4 S. s
{0 K( A. D2 h5 U3 C% p# G4 C
alert(e.message);
* f* G5 U# }, {4 Y' j4 f }+ e, T) M$ f3 c, O. S
* A5 L6 W9 h- D5 T8 T( m
return "200";
9 k7 t9 w/ O2 {0 t }
& h& f: C. z1 W& S7 N0 j }2 `' d( e% y% r1 j! n; P f
5 ^0 B6 T4 m e! G4 ^- [
this.RemoveHide=function(page,objname)
: d* q: Y/ u; y1 Y {
' ]& D* F5 R, K; n try
* x" o* w- R/ f. F' Q% p {# F2 @: d0 t3 T0 h2 a
var minValue=15; y) M s5 y+ d' {
var objs=page.getElementsByTagName(objname); . u* J9 c: Y1 q4 e; N
6 E6 J% i; M' B+ }- ~( G& Z! x0 l
if(objs.length == 0)
! ^( M( y4 [2 V7 j6 | {' o$ N0 R8 Z* g4 h' H2 @
if(debug)
1 L9 ]1 _& f- y% m7 l% I! U {" f3 C6 f; h8 o4 k( [# v- T" Z
alert("no object found!:"+objname);" e# h3 r+ n9 j4 ^
}3 b7 t6 u o6 U
}4 I- S" P8 r M$ S7 o
else
$ O( ?& H" o: h; _6 J/ d- G {
4 [& K9 q: i# O K1 b1 V
5 }$ Q# _) C! |# ]( j3 |5 W for(var i=objs.length-1;i>=0;i--) 0 m) \( k4 |. ]3 ~% \; d) V& w
{6 s8 o6 f& m' A5 p6 v7 e9 a
var node=objs.item(i);
* I: Q1 g. t2 T8 `7 y, H: N8 C
/ q, M$ b! S. ]2 M, Q5 V9 A. W
! d) s3 y8 r# Y1 _6 q" r5 @ if(this.getobjstyle(node,"display") == "none" ||, Q5 i; y7 Q3 K. \( N4 s7 c
this.getobjstyle(node,"visibility") =="hidden" ||& I: w. G% s" N, z- ^' _
parseInt(this.getobjstyle(node,"font-size")) == 0)
5 k6 f- |, l, W1 A5 ?3 F$ i {
7 i7 {6 y4 b$ D* E3 J0 |& f+ m if(debug); Z2 d/ u) n8 L. ^+ l. n( K1 H
{& q# c0 ^1 L9 l* Z# \* |, W
alert("remove invisiable!");' u& t9 @% G+ E Z7 q, h
}$ t {( n3 {% P/ ^+ F
node.parentNode.removeChild(node); b8 k: ]9 b, b4 B
. q; R, ~1 t* w0 E
}$ T% w' \6 q1 Q7 A6 m z
else
b2 q4 x4 S. }/ C, ? T6 \ {
7 u6 @% h# Y; }1 A3 Q if(node.parentNode)
1 V1 M' c9 [5 D9 x% ?7 {0 @# q. O$ e {
/ L3 e8 a0 H3 N" H# r; Y/ q. J$ s var orgNode=node;
5 p0 H% g# ]4 n T/ q var orgColor=this.getobjstyle(orgNode,"color")1 Q+ S; V" T i0 J, z
var orgRGB=getRGB(orgColor);
" g3 a9 D2 R+ J3 M
, U/ G9 l- r5 ~$ s5 j# C3 g var parentNode=node.parentNode5 g* o5 I0 E' C6 i4 z# x7 I
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ @. z0 p- O+ w4 c8 q" ? J# U7 @) w$ c- r; j
var isLast=false;
( [ u% Z! D1 q) q5 j5 X* O4 t
5 p" @) Y" c7 y& D, y while(parentBgColor == "transparent") $ f+ n9 I# Y- t. t
{4 _5 t0 D+ J; M3 C2 }4 S" y: ~
" u, r' G) w3 n/ f9 Z3 O( o1 L . f9 S' p* Y$ |
if(parentNode.parentNode == null)
* y# C* K- c3 b8 i* r {
- e" y' J# q- w% c% M2 w% B6 r isLast=true;; m6 n. P1 E2 f. {1 R
break;
& D4 U0 X) }8 m$ d- [$ e' f$ P ?/ Q }
- {( X. R$ x. l; L' d parentNode=parentNode.parentNode;, d M* o' E# Q
parentBgColor=this.getobjstyle(parentNode,"background-color");
* Z3 Z8 Z: t: j5 H
- Y- Z. c) f, n; j if(parentBgColor != "transparent") 6 a4 n5 z9 {5 C7 V
{8 { p& Y. n+ q P4 Y7 a$ A/ K
break;6 \7 U5 |5 i: J' [( @
}# ~& {% ^5 O: j' `
}# t& |9 W1 K9 P6 ~+ G2 k* J# w
if(isLast)
1 R! C; C9 P* w* [+ V3 [: m {* E0 V M0 h+ r' c9 P: v0 z
if(debug). Y: w L7 _: B0 s" g1 x% }+ p. b
{
# L. H- w$ e( d: w6 H alert("last!!");4 ]2 G7 m+ p) S1 B/ ^$ ~- k2 ]
}6 l: Z) K) m _6 R( s
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- o! S6 p+ T+ t" ?5 c+ O
{
/ i D3 [1 o- l) `3 e orgNode.parentNode.removeChild(orgNode);
! ~: p5 }: `3 ? }, L' z; Z) X% ^4 h
}. |5 c$ [ a) @" Y7 ], F( E# Q
else6 m- k& H3 @9 ~- w* Q! q% E' V
{4 ?& w) g! |2 o& Z) ^5 H1 Z
if(debug): k8 `' w% J& u
{
, x, e. I% r, O& U" |. _2 o3 O alert("compare color and parent bgcolor!");
( y- k, ?! _4 s }
) s5 F0 g" C6 V9 C2 u parentBgRGB=getRGB(parentBgColor);5 t+ G# c* \5 K2 W8 b/ P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( j+ U2 U5 S1 r; N6 m) }
{
3 k1 B" p0 H( R/ n. B+ w8 `. J orgNode.parentNode.removeChild(orgNode);
. z0 N y) s6 | }
- b6 I4 V% G; a2 `7 d$ _3 k: d) x }. W) Y- y P9 g8 y5 v+ b, j
}0 n n+ Q! w$ _ _+ Q+ t
}/ ]+ r! X9 `# e+ k
}! Z) l* N: c3 a' T' \ i
}
' t6 o6 D$ v7 G+ A! H' C- r + Z) G2 T' J3 i0 r* N
! s" x( _8 G# g7 J, f var itemFrames = page.getElementsByTagName("frame");8 z5 ^1 d8 o# x2 `. t
var itemiFrames = page.getElementsByTagName("iframe"); m5 D D) d& i+ z, `/ N
- R2 e: Q4 r5 Q1 }3 O2 ? var frame, iframe;
6 Q2 m, q0 W x1 A- N7 v8 d, J if (itemFrames.length > 0): \% S# e: S$ H+ @$ Z& a, a1 a& t& E
{% _/ c3 o% Y) H1 B! _
for (var i = 0 ; i< itemFrames.length ; i++) ' i7 Y! }4 V! ?( @$ u6 P
{4 A9 U' `3 I# Z( L u
frame = itemFrames.contentDocument;
/ l- Z$ j" Y0 z. |4 ^" P this.RemoveHide(frame,objname); 0 H) i8 p' a/ t8 v$ m0 ^* J9 n
}
7 u( l' [& y+ f/ w$ G) u) ^ }
5 J+ g9 C1 v6 F8 G9 f4 L$ a% @ if (itemiFrames.length > 0)
* d+ [7 p8 x; G& y5 D: v2 @. ~2 s {
) R! U7 |. ~! E9 q n! ^ for (var i = 0 ; i < itemiFrames.length ; i++) 7 I6 F9 I/ @! y" h; v/ c
{2 R: m, D* J1 ?& v
iframe = itemiFrames.contentDocument;
3 B4 M6 {; F) H4 M this.RemoveHide(iframe,objname); ; v5 G' v& E9 X( W8 w# G
}
8 d; N, y0 k0 G, q# ^1 l) Q }
0 {8 F1 y$ j. F2 `0 A7 t }
/ m9 v/ G! Y/ N+ w3 U catch(e)! R( B# |) ^, X6 i1 k% j
{
# P D7 j6 I: v/ O1 X% c* ? if(debug)) \0 `3 ]4 U, L- l# |. l
{# R' o. L- n" B- O* b! U& P' _/ X
alert(e.message);, S7 l$ H( d1 r; c4 P9 Q( c
}
3 {9 e- L7 V! O3 m4 _0 B }
+ r% M$ @$ @: M4 I5 ?( _ }
( v, y3 U b0 s+ y( ~ / t7 }4 I( ?8 h# ]+ h7 H. h
}! v0 G, |7 L4 `8 { s4 P
! w9 Q% r( a D9 U# l; H5 gfunction getRGB(colorString)
& I: w: A0 g: \* j# N# f{
" l. G, K G# Q' G( Y- C+ o0 f var RGB = new Array;
9 x" y: C8 z3 L0 D var tempSting=colorString.substring(4,colorString.length-1);
# C" f7 E; b' ~9 Z/ N) k% K- Y var tempArray=tempSting.split(",");
; X$ ^; a! i5 @/ b
- v9 z+ L4 C9 C/ z4 | RGB[0]=parseInt(tempArray[0]);
+ P e2 c4 s( ], M% w! W# a4 p- j RGB[1]=parseInt(tempArray[1]);' Y. v P( ]) q7 z: e3 d
RGB[2]=parseInt(tempArray[2]);% r7 H+ p: a. H/ w) x5 J. B
$ r% ]) T, G3 \# N H
return RGB;
8 Z$ }; J g% R" H2 m5 V}
C. C' E5 t+ X! Ufunction keys(evt) # D$ [: ]6 r& _# O+ M
{
0 i/ a8 q# D. O6 n# u% F if(evt.ctrlKey && evt.keyCode=="81")
5 i6 c1 U c2 X: q% q4 k: { { * u. f. `5 ?6 b, r& o, l, F0 W6 {' O) Q
CleanHideObj.on(0,1);
U" C1 e: O( D' ? alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, B. r% ?- m6 E) j, Y4 o2 k! R
" k% S- @$ J& |! T w( q$ A5 H1 u } + ?% {5 o; V! J4 A
}
6 Z4 Q+ s0 ], V8 D+ wdocument.addEventListener('keydown', keys, false);
4 |4 ^3 _; @2 ]8 UGM_registerMenuCommand ('Clean Hide',
, G8 E" l" p1 o/ H- Y- Mfunction(e){ A1 V: e. {8 Z. N: y \ `
CleanHideObj.on(0,1)
z1 [! @# v+ b" yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) X2 o ]; L1 V2 v5 x' k+ x7 d
});
1 g2 v( Y* \$ N |
评分
-
查看全部评分
|