|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ A" o: ]- f; K& _! N' j
, h5 o+ F: o2 l1 Q! {
火狐插件,用猴子
3 q$ R8 B- W; N ]) g* M4 r- B8 q8 ]: }. t, F" a: J4 r E
var debug=false; , j: S8 w ~# ^. y+ Z5 u
var CleanHideObj=new CleanHideClass();
$ G8 V- I+ m& X
0 o6 q' Z; s9 y0 C( ofunction CleanHideClass() 6 J/ m4 t) O! b4 n9 s
{
7 A0 X" X/ q$ Y6 t
0 {3 v+ x4 f( e. j6 p! N1 r; p this.on=function(id,bMZ)
- r) k' V# w! B6 A$ L {
# K; p+ [: d, i) Y) i$ Z9 k# S; Q- o
( J/ \2 F% [3 ~& P1 _. ` if(id == 0)
; @, `+ s! H7 n( W5 H, \4 E {% H/ A/ T- u6 w6 [) v. M( Q
var page=/* document.getElementById("content").contentDocument */document; % I; I" P( _5 \
this.RemoveHide(page,"span");
; Y8 a4 i. P- V& {( Y$ |2 G5 Z! J6 c this.RemoveHide(page,"font");, L" s( {2 v; B! c+ R9 e A. D
this.RemoveHide(page,"div");3 X' R7 V) u: t! I6 a# v
this.RemoveHide(page,"p");, `( J, O. P- P3 s4 ~1 Y
3 S" W- j* y6 J) b: [ }) e5 {1 I9 _4 `& t2 n) c
" P" t* [' ~4 s( T6 {+ g }, o |2 ]0 C5 e+ X$ D R. D* w
this.getobjstyle=function(node,prop)! w9 U, `- `- N5 @; ^4 _
{
+ |$ M/ L- S7 e$ V/ m4 C+ e try
* e( E2 X* ~' G/ G8 ]1 F {
8 @& G8 q1 l7 K1 B3 \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
! `9 h& ]7 a0 { }
5 j" O% r8 m: N5 V catch(e)
h R" F( O- ?; P {( I7 m. t6 l$ |" T4 t
if(debug)9 \, N9 z; e/ l" J
{+ b+ y7 w6 q; q7 V& R9 `. D
alert(e.message);
" m w0 F% p- l5 p: G( F: @7 C }
; L! }- |9 }; a) P8 Y6 _ 2 B9 Q) J* H+ C- Y. A( [- s6 ` K
return "200";$ L# v) \# F( ~$ e2 I1 o
}7 v2 M; f. p+ i! ~; j
}
; \4 s0 n" P9 Z; Y6 M$ ^& \ , x8 }" ~# b, Y G" G; g3 B
this.RemoveHide=function(page,objname)) e( q* M$ x* b
{
! H% F* u; B3 ? try
' z2 g9 G- c$ s" q% G; d3 R {; {% _+ U2 O2 Y3 c7 s9 H( G! U1 @
var minValue=15;
5 h; h6 C/ U6 k7 G' j var objs=page.getElementsByTagName(objname); ; i! [4 X. ~; L; T8 J7 ~4 S
4 E) u: n$ n8 y& Y8 x2 s0 f if(objs.length == 0)
& j' D# U' L. J& o {
: C2 j! ?% K# Z }& @9 ?2 { if(debug)
0 Y5 y) E/ i' _$ D5 N9 O- R+ } {
# O, h$ i$ s' q9 ? alert("no object found!:"+objname);
' a* `6 k! X+ E, j! G2 p }) ~2 H( H: s5 |7 m
}7 d; B$ u7 u8 E( t" L
else
4 {0 M- U! u; O {
$ }+ l3 w' O4 p& K; n0 j; I " D* m0 `. M& J% R
for(var i=objs.length-1;i>=0;i--)
1 G4 j; Y( L" H2 M {) H4 c5 A; L8 i& z9 h
var node=objs.item(i); 9 _7 W/ X; b: J' [
8 m2 E" n% D" M
4 @* G" f5 [4 L P5 b5 d
if(this.getobjstyle(node,"display") == "none" ||# Z9 ^( ~# t/ Z4 ~( q$ b- C
this.getobjstyle(node,"visibility") =="hidden" ||
) i- e, \ d- ~7 L parseInt(this.getobjstyle(node,"font-size")) == 0)
- ]) D2 k% v- w- r# [ {+ ?# [. e+ h6 C) J7 I
if(debug)
, I! U! Y/ q/ M* L$ x, r" n {
: d! G1 l0 o" T/ U& ^0 A4 P/ t. B alert("remove invisiable!");; u, T5 r4 a- N# k
}* L4 g5 g' o! x: k7 O
node.parentNode.removeChild(node);5 c- n1 f8 @ L) @- @8 ~3 Y
- x% F) _2 `2 ? @" N1 [
}- R6 I' m7 x. e) V7 P& v
else / r* d0 E8 S) C* {! |# E- v+ z- }* d2 a( r
{2 c, u. D* g- t, I& I3 z
if(node.parentNode)
8 l; _$ h4 e' P' }$ S$ G1 ~, D {- E" t) [9 c( R9 U5 f) b
var orgNode=node;
- Z: k' M' x- O2 o+ J0 Z8 P var orgColor=this.getobjstyle(orgNode,"color")
8 [# k' ]: }+ t* A) d# H- a \5 ` var orgRGB=getRGB(orgColor);
+ q2 m: e/ G; O 0 k- N8 {4 w* L% b1 `" b
var parentNode=node.parentNode" k, H0 o* S& g; l6 |" Y+ E
var parentBgColor=this.getobjstyle(parentNode,"background-color");5 m# H! F6 g/ ?1 s) o
; `, C; p# w" W var isLast=false;" [$ }( t; ?" Z% ~- N2 J
# ] c2 d8 D7 ?- k1 N while(parentBgColor == "transparent")
4 J* L7 V8 X- q {6 S; W+ e* x# l4 R6 [1 X' a
$ K4 @1 q7 Q* U: y7 K: } : E& N8 P! O+ K( X
if(parentNode.parentNode == null)4 ^; _. t; \" A% q% x/ Y' \& \2 G
{/ u* |# o: W0 }3 |1 c9 L0 I
isLast=true;- B# X5 A# h, b9 ^# X
break;# h( }3 p9 e9 j% ^- Q$ V+ l
}2 s/ h5 B. A' H0 v( t
parentNode=parentNode.parentNode;
$ U& M# D$ r$ j8 f$ u6 k parentBgColor=this.getobjstyle(parentNode,"background-color");# E3 Q% V! j% o& B: k, I
/ l* t3 u7 ~8 ~& A
if(parentBgColor != "transparent")
( w2 ?: A; J# {0 U! E) x {5 ~% x) V# y8 J1 b+ |
break;- g$ d! Q4 B% W" U
}9 r5 Q; z; c; S7 w1 g& M
}: }& H9 a) x$ _. J. e3 ^1 @" M2 {
if(isLast)
- _7 q% }' @# n8 }' @4 O: p2 q% z1 N1 G {( e& m; ]( d9 C6 F/ d6 o( Z
if(debug)
" i* a: k0 j5 @/ a. A {' {. C- y( t X; Y
alert("last!!");: n) U. f* U# {) Z; g
}
~! _ Y2 `) ^. B if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) B z/ ~# j) l% o& t7 E# U/ B! e
{
0 x5 e- p2 Z$ L orgNode.parentNode.removeChild(orgNode); ) v# B0 m, W) p
}" R2 _7 [2 t. y6 X+ D; U5 v i
}
: i# k" c5 \& `2 G else
9 C: M8 X2 N+ M- J2 f$ ~: u {. ~% A* e* A) V- W
if(debug)
1 m3 u* R4 O" Q2 T0 O {8 S( U. ]% c7 X% d. X+ k
alert("compare color and parent bgcolor!");1 S2 T6 l; ~! c! s8 E/ b+ V3 O
}
& B0 J" T# d# q* ]5 X parentBgRGB=getRGB(parentBgColor);
{. v1 o; E" {4 e7 u `3 S' i if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 h/ g* B1 Y& x$ V2 ^: l: G5 C
{6 k8 \% X5 w5 T& j. A" H0 R( Q
orgNode.parentNode.removeChild(orgNode);
2 I# [2 @% C$ f- p( S }: C5 S. a5 x1 H* {3 A9 h$ }9 T
}
0 |, ?+ j/ |' y* z0 y% W }3 y" d4 L2 |) |0 D q; _# F- a
}
4 [7 R( S% _' B }" T: E$ ^6 [# H S/ l' W3 t+ L
}" R$ B- P/ \" n$ x/ j
" b6 J- s+ q& z9 f$ ^4 w1 e: I; x
0 v& \/ F O6 e% J. Q9 \5 y, ^ var itemFrames = page.getElementsByTagName("frame");
. ?4 @+ Z$ i/ Y3 s# k' b+ i* ` var itemiFrames = page.getElementsByTagName("iframe");
0 u0 r9 p; W4 b1 Z4 W/ y 6 Y- W4 ]5 v' _8 b" B
var frame, iframe;( u/ j, N( i6 d* @" m( l
if (itemFrames.length > 0)# \5 K+ r% N0 a/ n' [
{* |3 |, q# @# N5 A# a
for (var i = 0 ; i< itemFrames.length ; i++) " S" R* J) U1 g6 Z
{
; N& w: D) H: w/ l frame = itemFrames.contentDocument;: \3 O: o+ ^' d4 m. M( `+ {( Y
this.RemoveHide(frame,objname); / d3 ~: Q: r- D F! Z8 s" W, \0 R
}5 R- O4 k- \# b- \- b' ]. `1 u7 i. w
}
- m# g2 i4 o0 r5 ] if (itemiFrames.length > 0)
+ B0 ]7 L& o1 B: V {" L- r& @) u2 E
for (var i = 0 ; i < itemiFrames.length ; i++)
5 K9 D q6 H* \% d% O5 l {
# i' f8 I3 x, t; p4 b) D9 l iframe = itemiFrames.contentDocument;
8 f5 [& ~$ D2 B+ {4 B3 H5 r this.RemoveHide(iframe,objname);
3 @3 y, x& ?- j9 Y: S }/ F4 j5 B+ c. _2 g3 _
}+ S; t. t# M+ L7 N8 ~$ w/ w
}
. {$ j7 n5 [* _8 I catch(e)# A7 F1 C4 [1 j* W" U+ w
{
) l; D# N A$ l) L' c" d if(debug)
3 p# n5 s9 ?, D% r; O {
& W4 S( c+ ^" H1 p. ~9 Q2 @ alert(e.message);
4 ]. O- g( i) b& _8 O0 | }5 w. s/ K ]3 B6 {' P3 `8 ?
}2 t3 o' S% N2 \ ]" N
}; M7 Z! D$ ]' H, W! J
% Y$ P# k Q9 G* H8 Q}5 B. j" f- M! Z5 S. r! ?& P
2 F9 D2 ~+ G9 K5 vfunction getRGB(colorString)
% _0 q" ?% j; ~0 U0 k3 B. z{9 T* g! O' P7 M7 o( `9 ^9 [' d2 {3 B
var RGB = new Array;
, O4 j0 u0 b) e0 W% Y2 w8 q, I6 ?) V8 U var tempSting=colorString.substring(4,colorString.length-1);
5 m9 k, v9 B" w- t6 s" [( M var tempArray=tempSting.split(",");0 b( K0 ]0 n6 Y1 N1 {# e; Y0 }
6 r: X8 d% f( P" l' ?6 [; s RGB[0]=parseInt(tempArray[0]);, E( V" ?+ ^) i' p+ q7 J
RGB[1]=parseInt(tempArray[1]);& X9 r2 G" a. B- M, K+ {# i2 H& M
RGB[2]=parseInt(tempArray[2]);
# c. \" W2 |2 D! J# K2 `$ R # o4 d, e$ @) ]3 N
return RGB;
4 k/ v+ y+ `# d' a}' c' d6 y2 w, E
function keys(evt) ) `7 n8 R; `3 O) ~+ y! B
{ 1 R) v+ E% b) [5 i6 N `
if(evt.ctrlKey && evt.keyCode=="81") ! c9 ^: j" Y3 V" `6 q% j
{
; x7 i! j" O! S CleanHideObj.on(0,1);' G. f; L/ Z; t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' Y$ }; s' b; D0 h- u1 y
) f$ y+ ]5 h4 W. Y
} / i# s5 J) N3 _, @: A
} 6 x6 w# e, H% j2 z
document.addEventListener('keydown', keys, false);
s, ]3 \ d' \4 V- q# c \3 XGM_registerMenuCommand ('Clean Hide',
: _$ s3 w& k* {6 P4 Y% dfunction(e){
) Z1 A3 B' S: y, NCleanHideObj.on(0,1); ?4 |7 a/ ^# Y+ @+ L5 } K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) [9 f1 x5 A7 W% J. `});
; E" J; B4 U' R6 Q# B |
评分
-
查看全部评分
|