|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 S9 f& b9 F$ `0 Y& w& E5 u! j, V3 w0 k4 G7 t8 A# I
火狐插件,用猴子& y8 G3 A) X# F/ Q9 C$ A
8 j& i+ G3 V- W5 V3 w
var debug=false; . p9 }8 m' X$ P6 [# U! e, p+ O
var CleanHideObj=new CleanHideClass();
. p5 U+ m/ E4 C* s3 A$ C
+ E, }8 X; X; pfunction CleanHideClass()
d* P/ C5 U6 E M{
5 d( N& I. b; @' @$ a- q
3 @$ H0 ^8 Q/ h/ X) u this.on=function(id,bMZ)
4 i5 t' X1 V, p4 ]' }5 ?+ L { I+ S8 _4 t+ ?) h% B' w
; K7 |: y& @9 t% L8 ~/ r: D4 W if(id == 0)
8 t2 l* P7 {; X" W p {! g t; Z5 f$ w1 {- F
var page=/* document.getElementById("content").contentDocument */document; & u) c q; P( C+ ^
this.RemoveHide(page,"span");
2 D; W0 I7 g! e2 Y7 T9 h9 ^ this.RemoveHide(page,"font");/ w: \& S8 m6 ]. K6 l1 i
this.RemoveHide(page,"div");" R8 f# H" S/ _3 V4 t2 _1 `
this.RemoveHide(page,"p");
$ P9 A3 Z$ u; e- t
6 M2 Q/ V. b! K& z7 [" G1 v* d }
+ A, W2 v) u9 ^; l1 S3 l" Q 7 v( x `8 o* X8 {& f
}; J, G; Y: b$ P$ y2 V4 U
this.getobjstyle=function(node,prop)
# N) i! |( f" K2 I. {6 b/ Y {
0 P. Y; ~, R( w! E% ?, ? try9 b0 z2 W: ^# ]. X. _
{
% D0 F; ]+ }) N/ m return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& l: V& [7 i1 w5 X* r
}- }" i6 K" N( C* {2 r* \& r' q
catch(e)% \ d" L& {2 H- X
{$ A- M9 s: N7 j H' ?
if(debug)
. I% b: n, L: Q2 r. \) L0 Z {
7 r& @. a& }$ E" Y* V$ p alert(e.message);
: y+ [# C( f: J* [ ?! [" F6 p }
+ X' a4 y+ x! j! [& m % L8 h/ Q2 Z' ?1 e
return "200";5 p$ n) O+ M* M2 Z
}7 X. S! a, o( Y" n2 K
}$ a3 o* l5 d9 J' a( l& l. s2 U
q8 M S. L* a' Q6 { this.RemoveHide=function(page,objname)
- D. J+ b% F4 \+ ?0 f {
( U& ^ Z& `& H7 K% O' R try+ V" Z; Q; `3 ?2 ^) J2 }& P
{
2 N6 V5 z: V# ~5 ~. y G& g* S7 R var minValue=15;" G$ L& P& c' j0 p8 j
var objs=page.getElementsByTagName(objname);
" }! @% G: Z0 c7 A+ I1 p- S
, ]+ d" [8 w5 U7 s3 ^2 D if(objs.length == 0) - m- I' d, q2 t$ G8 m& L
{! k9 t# p! \$ V3 ~# i+ Q' L
if(debug)
) N7 e4 O& o$ q {
+ m, B& L$ t5 F0 S alert("no object found!:"+objname);' h7 u: _& I9 ~& B" r
}
; h# o# {/ u2 B4 I }8 @9 C! g- {: J3 B+ Z
else
( U# V0 w. Z/ @1 ?2 C5 m {
0 \) D2 }. d1 b% E$ V$ B% q $ D2 z: i; g3 q
for(var i=objs.length-1;i>=0;i--)
! f4 y0 T V# ^3 @5 }0 S# g( D {0 X: \; u2 q4 }& c* D+ Y: y
var node=objs.item(i); 1 ]) X# q; f& i7 G5 O
" m4 D- |: L0 l% X+ G( N' |
$ F; j8 R D8 J. C- J6 }% \% y if(this.getobjstyle(node,"display") == "none" ||/ E7 {, A2 P* M& v- t9 A
this.getobjstyle(node,"visibility") =="hidden" ||: s+ B8 _( O" B
parseInt(this.getobjstyle(node,"font-size")) == 0)
2 F& Y7 ?5 [/ b+ {% N {
/ I7 H) b2 h) P$ F if(debug)
; C+ q5 K3 H# e: {* C3 F9 W5 z7 r {4 B) i, b( g, @% m9 q3 p2 k
alert("remove invisiable!");; b5 U) s$ x) b2 U
}4 U+ A- P4 K, k6 i4 `: x
node.parentNode.removeChild(node);- C3 t" L4 c% l/ G
* m' b( y% P. h0 D* B7 w
}
4 k# v$ l- U* V- M, b! [0 W4 R7 @' E else ; h+ v% k0 }2 ?; b4 t
{
& V( `! Q; g6 E" \: a if(node.parentNode)
0 n2 k, B1 H( U {
8 |) X/ Y4 B1 a: u% x/ V" x7 Z0 M$ z var orgNode=node;
* o) p. w6 X" g! m9 b var orgColor=this.getobjstyle(orgNode,"color"), a- G8 u$ R" G3 x; c! D$ Z0 q
var orgRGB=getRGB(orgColor);
8 I7 Z1 U4 P6 w: p, ~ ( C' M6 d) Z0 ~; }* y- D6 i& l4 a
var parentNode=node.parentNode
3 Q& ?! k. X4 Z: Z) ^/ L( D" ~ var parentBgColor=this.getobjstyle(parentNode,"background-color");: p, I% z" q: o- |; A5 z' f
+ P; U1 O! f3 ~2 n/ B1 q var isLast=false;
2 t& a* ]" C/ }" L
9 v5 B* n9 h4 `* f9 x while(parentBgColor == "transparent")
5 }, @# y m& `- E, @ {; h5 j- U( l' z8 `
& m( L2 _0 c: c) d* o B
0 o4 H8 q5 Y7 p+ J if(parentNode.parentNode == null)
: J) Y/ r3 V% C {3 |: V3 n7 V6 M2 s
isLast=true;
7 V4 x. N! J- ]: ~$ t3 ^. S6 J break;
8 E1 C; p6 D" `+ \ s' C }
5 u: ^1 q$ o: l parentNode=parentNode.parentNode;
, ~7 W% H7 y4 S& R2 m8 M parentBgColor=this.getobjstyle(parentNode,"background-color");; F( n, ~2 D% s9 {" U2 p5 h$ H5 u" D- i
! ~) ]2 i$ l+ P# v2 n" B9 p1 V8 ~0 ` if(parentBgColor != "transparent") " B2 k' N5 p* E) |: \. e) y J
{
) _4 C$ }9 b6 y; y break;4 t C( \# q' `" {0 ]
}* X! @, w2 V! {
}
! M% B0 D d3 S$ I0 d6 z4 k4 i H if(isLast)
/ H4 J3 j1 X3 U. g. y. f# L: Z {4 h/ x# |3 |, u! n g+ ~ A0 u
if(debug)
& b5 c- b3 P- s( u4 k {. E# u+ H) m ]8 i* ~
alert("last!!");
, e; f7 {: W6 _# O }
2 J6 x/ G& W7 H if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ X( N0 b6 d7 c& s
{& q3 E7 P" G* Z0 P9 R
orgNode.parentNode.removeChild(orgNode); 6 y2 z1 f( Y. s% ~
}* @# F/ }; E# f8 [2 i+ {" x
}
$ a4 x' Y8 s: Y" q else0 Y! C c2 u$ m4 |. Z% d$ u
{! @# D$ S7 g0 `/ C
if(debug)
+ N' B' L6 Z8 K" R5 |8 z4 V3 n {% D# H9 _( l9 @0 u9 e5 G6 t
alert("compare color and parent bgcolor!");
& S; h- ? u0 k+ S; b- E }
6 g( S& D7 w; f: m6 Q4 i6 y parentBgRGB=getRGB(parentBgColor);# O5 W6 N$ b! M9 `
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)) d# @, s% s1 e
{
; [1 v+ s, W- I: E3 T5 Y" G orgNode.parentNode.removeChild(orgNode); . O9 Y8 {# u1 K+ a" H1 p* z% `/ h" N
}
( A) I- @6 q, [4 c% Y8 @3 m; Q" |$ n/ ? }
5 u# l- ?! C; [7 p& s5 U }
5 h, R$ f: k C }: c( ?# u# l s# Z' {
}
% R4 u7 j+ P: z* L. ? f# y/ u) _1 _ }
5 @$ }3 ~1 @7 x: O+ H+ a0 \4 l6 ] + O1 M" `0 p2 k6 V
) ?; [. q3 m- h8 b H
var itemFrames = page.getElementsByTagName("frame");
; z: a6 @7 @4 T var itemiFrames = page.getElementsByTagName("iframe");! R, y" M: W0 i" w5 K& J
, g0 n# B; _. t3 f! S7 O( u
var frame, iframe;, O0 q+ M+ S w5 A2 `; d' E
if (itemFrames.length > 0)
+ b( a! y8 G& _7 @% x { s( j1 F, J7 Y6 G) T3 h! p
for (var i = 0 ; i< itemFrames.length ; i++)
) @9 k9 S( R5 Q9 { {
/ Z9 u% W$ h7 D/ Q3 w frame = itemFrames.contentDocument;( N+ W6 M2 Q4 \8 p( Z! K& L
this.RemoveHide(frame,objname);
$ F: W6 X" E2 Y }* f1 Y" n) t% u8 a! K
}
0 i5 W' s, m. j2 y if (itemiFrames.length > 0)7 j% t6 f: X" ^2 a4 Q P
{
: w% Z0 x+ B" g3 V# A3 J for (var i = 0 ; i < itemiFrames.length ; i++)
6 y' v. }& ]3 f6 i" z0 B; p {7 H/ Z1 d* {* O; p
iframe = itemiFrames.contentDocument;( d6 R" e. k, O6 U$ H
this.RemoveHide(iframe,objname);
6 L7 Z, f# j) e' h }6 k) {. P) p0 t* H
}+ R# E% x3 e2 |9 \8 S& M- a8 @
}. f( P! B, m5 D4 N) u
catch(e)% a5 C( `8 p7 j# c- A/ a1 u: I
{: [! d' U" A2 V5 w& ]% F5 h" v
if(debug)
% v! _, T X% M7 f8 }/ X {
( y. P1 v. [/ X6 p4 b7 d( s alert(e.message);2 K# J# t. Z t% J
}
( o' R0 A2 U. |5 H( M5 } }
7 n* Q# d5 A( d, D }: z# W- M4 r6 x) K+ ]) ]) G! o
' p$ }( H5 ]$ D1 }. Q9 j( a}
$ c4 Y" b$ v7 J# J$ z/ G. R0 J
# r& m) j" O. Vfunction getRGB(colorString)
( a. t9 f- m' a$ a# c7 Q{
2 G) t8 |% Y8 c var RGB = new Array;9 \; |9 \9 s7 |4 H. f. L: }
var tempSting=colorString.substring(4,colorString.length-1);
, G9 A) q6 h# Z9 ^ var tempArray=tempSting.split(","); c: @) s; {! ]: `( M, h- d
; v( e* ~: W# ^. v5 ^ RGB[0]=parseInt(tempArray[0]);
0 @0 ~$ s- Z* K/ S% Q RGB[1]=parseInt(tempArray[1]);
2 l: |/ N1 W6 [ Y3 G' c RGB[2]=parseInt(tempArray[2]);# ~5 V( g* e. @5 h+ r# T
+ B, ?4 x, p* o; B$ h
return RGB;
* ^4 Z9 U' T, ~+ T8 u6 g; x6 \}0 U, C* e% p# ]0 X% ]" X
function keys(evt)
" w+ I) ]6 X8 B/ w; M A' ~8 K' W) ^0 ? {
9 F) \% E, W0 E+ p2 ?7 p if(evt.ctrlKey && evt.keyCode=="81")
* G% j. h' V# T( s/ ]5 }# ~) K {
. I( s- ?# j2 @6 O8 ~- K8 J+ |' L CleanHideObj.on(0,1);
8 d9 X2 S2 ~) w4 z7 ` alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); " E1 F& y7 W# x/ ` F
/ o2 e- I3 o5 u1 B8 e
} + W6 K3 m6 [; J- f6 W: z, q' x
}
7 |0 @ W; n ~2 u. H+ e# ~document.addEventListener('keydown', keys, false);
& D6 r% s' Y k; M6 HGM_registerMenuCommand ('Clean Hide',
, _" N$ T2 K; [3 ~function(e){6 r6 x5 _! o. ]4 F% U+ H
CleanHideObj.on(0,1)% x% O" C4 A4 W; t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) K( V# [+ l6 K});
' E- J9 A* D# |% H y4 M |
评分
-
查看全部评分
|