|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 k1 A) O9 w3 F, Z, ^0 \5 ?
4 c6 M* ^3 s8 f; |9 x火狐插件,用猴子
6 t ~( _& Q2 u2 a5 A, |( k
1 V! K9 @$ ~4 O* `6 Uvar debug=false; 2 Q. m& s! Q4 V" b7 d4 E4 C
var CleanHideObj=new CleanHideClass();6 I+ ~; |5 G- Z1 c l+ |2 f
% b& T+ a7 F; d" l! Hfunction CleanHideClass() % e Q: ^! u9 x. s' y
{
+ u6 M( v9 Q) F& x: |4 V; g) r. W
) i+ E5 U* ^1 ] this.on=function(id,bMZ)# V) J" r/ }; p( o. n- w# A+ l! Q
{
3 o0 t$ ?, }, f0 z' \ ! h! k. d# Z8 y& ^) |
if(id == 0)% I- r" R9 n. t, h( V# F: ]6 y
{6 \- T1 t! m# r" K! l
var page=/* document.getElementById("content").contentDocument */document;
" f* `, F9 B2 ^' n this.RemoveHide(page,"span");2 J0 O2 s9 f/ `/ p9 w+ D
this.RemoveHide(page,"font");
& M# ?! ?4 h( j" h( G- E# H this.RemoveHide(page,"div");
3 q/ q5 S3 I1 h( d1 B3 I this.RemoveHide(page,"p");" ~& b* w( G. x
7 P0 Q- Y f7 N P }( d8 U6 K V, p3 M* @9 F
$ `& r v. H$ ] }
0 n! G1 u% A' `6 Y* U3 ~; | this.getobjstyle=function(node,prop)
) h6 D% O1 E4 p! w- { {
& M3 Y. P0 C# n5 }$ [5 P try' a" s* F6 O- ~
{
- Y( \( A' ?7 \8 S; k* X" h0 {8 T* E8 @ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 ^% W) {5 l) O! a
}! n3 F) V7 k' O- X' |/ r
catch(e)& L8 _% r' W. t/ f; H% ?" M
{
5 H+ i# [+ y; K if(debug)7 O0 M0 T6 q# j+ Z& \
{4 G; ^) [, U: D, R$ ~, \
alert(e.message);; j/ g9 ]0 Z- y0 } U( t
}8 y% Y) K0 r* E) h9 U) h9 G9 @" w
4 J, l3 @: X6 x* Y; u) b return "200";
4 ~$ _8 N+ T3 W2 w }. l2 }- B6 W; |$ j$ g
}
- M; c; S( [5 q; F
8 y3 m5 x3 l/ Z( j+ n this.RemoveHide=function(page,objname)
& {' k$ G. o5 `, x {
3 o0 \6 W, Q& q try
2 q- W7 B# q! M7 H) ~1 b {* |- z) {* y" g4 U
var minValue=15;
0 G5 `/ @ ~& L& a' @1 M! Z var objs=page.getElementsByTagName(objname);
0 B" \: ?- J& V* ]! v2 a" x% u+ ]" F3 M
if(objs.length == 0)
3 W" p, }2 I0 C. [" x% a {
9 A$ V0 }" e2 @+ K# R9 [, F if(debug)
% Z* y+ O* o! `( D& P8 b5 Z {
- N6 L4 }/ ?% y9 J; T alert("no object found!:"+objname);9 { D5 A4 N6 h8 `# U
}0 J% b6 M! |4 ~! Q' a. H) |2 O; g: r
}) t1 |/ E j# i7 ? Y( H- Z
else
* g( P: n6 V6 n" f( E, ~6 M {
" i# v+ a1 q9 ^" U5 h, l
4 B3 h( S/ D7 K% w& O% V, j+ G( T for(var i=objs.length-1;i>=0;i--) $ A1 _/ k- T) a/ H' S, l; v$ I
{; T# p1 \! ~/ C6 n
var node=objs.item(i); 2 R! c8 I, `- o* l9 m
% { Z% v+ T" G# E6 X , a" `' o. C) m, K4 `4 m/ A
if(this.getobjstyle(node,"display") == "none" ||0 o, t7 ]. k$ X- K
this.getobjstyle(node,"visibility") =="hidden" ||
& W$ c O4 d" B' C parseInt(this.getobjstyle(node,"font-size")) == 0)
/ ^1 ?8 F: a5 b. r g {: `4 O0 U9 u, ~9 [. H4 j0 J
if(debug) b! @ m" q9 N' {1 o. b) F" h$ p
{
$ x3 {2 y d" ^2 s7 l alert("remove invisiable!");
. Q B' U) o% c }7 o6 C' J( L2 G) J3 N5 a5 L' y- _2 ~
node.parentNode.removeChild(node);& ~* g& j( U, q2 e4 s( c( r8 n( F3 w
1 s% O6 z$ o5 }$ P }' V. X7 q. }$ X0 M
else
9 y/ e6 L% z' Q. z( c {5 f4 t, ]) R$ i h& t) f
if(node.parentNode)
& g) }, @5 M& ]- v, |" u; s8 V {
" j, m" j) h( B7 _# N var orgNode=node;% y9 Z+ _0 j' H. Q2 y8 F
var orgColor=this.getobjstyle(orgNode,"color")
0 }" C1 E8 ]8 S' Z+ Z9 M- X var orgRGB=getRGB(orgColor);
# j9 u1 `/ c7 I; \( p4 [# I 2 e% }* A# D' d: f- e' b/ g: l0 z
var parentNode=node.parentNode
' q- `; O7 }1 r/ c- m$ Q var parentBgColor=this.getobjstyle(parentNode,"background-color");
* u8 G) N$ H, z& P - ?/ z- j/ p6 @9 ^/ x
var isLast=false;2 T& y! H0 g1 u! ] Q
7 L: A7 s: `- Y5 u" c3 }, J5 G
while(parentBgColor == "transparent") 5 `# Z5 T" H+ {, u7 }# h' A8 g' c4 ]7 u
{
. {8 H w# L' }' C6 o ; X: W; ?3 e. ~0 g
& U# y; ~; U/ [" M; w
if(parentNode.parentNode == null)6 }% W3 C/ o8 t) ? ^6 {1 F& Y, P
{
' D. v( q" E6 w% f- u1 {' M isLast=true;
5 e/ I) _$ c$ u1 ?- m, _3 r break;
2 P2 ~ A6 _9 y( m' K$ T" Y) X }& S# D2 }& f0 @0 L5 G/ Q2 R
parentNode=parentNode.parentNode;
# ^+ n& o( {- z2 Q4 W parentBgColor=this.getobjstyle(parentNode,"background-color");/ y# I* x- F: n4 H( q
+ h. \( j/ d! ?, s( m
if(parentBgColor != "transparent")
* G1 q. X" y+ z. r" G; ` {
& |" y$ ^9 }4 l5 I+ X" \- [4 ]7 z break;; i5 ~5 |: \6 x4 \) i
}
- i( _" @, I% L% P8 A: p }
+ G3 D8 g5 U! ^ q- k1 y if(isLast)
! w8 j$ f+ Z; V4 [) r {
+ X4 m2 L# Q! Q, k+ p7 l- _* X if(debug)3 L, r: d4 f& t8 [+ d$ M
{
) h* Q: p j: i; R4 b5 s7 ^% z alert("last!!");
2 g: z6 J& _0 S0 ?: P }
2 j; k( ~8 k4 w! r$ v# [3 E if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 h' ]) I! C u5 M$ U7 S
{
) \4 Y( n' G# f& @6 y, u orgNode.parentNode.removeChild(orgNode);
0 `4 B0 O0 @# h$ p }
w" P; f3 S5 a/ q* q' Y }
8 L! F0 j0 F8 F; H8 } else( L* o" S" H7 I" @& {
{3 h3 X+ X, A ]6 |0 h4 M9 I
if(debug)2 S# x! P2 x4 Q( A
{/ m; ?/ z# F3 g2 P7 f! M2 n9 `0 r- }5 P
alert("compare color and parent bgcolor!");
# H7 }% m+ ^1 q2 ?9 Q }
; q8 S5 Q. m r parentBgRGB=getRGB(parentBgColor);
; a9 c5 z: `2 B- l8 U- }6 z; h ] n, X if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ M/ v0 {7 Q" a g+ p) f1 K
{
! J+ H; A: T1 E6 Z; @7 F# q3 B orgNode.parentNode.removeChild(orgNode); & q! r* [; {- h0 P8 Q0 O
}
6 Y' d9 l, \' L) v0 C+ x }
# }9 J" k! L }0 F) I }
z- V0 d7 w; l& M0 ? C; [+ m: K G/ a. H }. B1 \2 D5 n, T9 v
}% r- B, |0 [$ `
}2 B( G6 K, a( r! y( K9 h( z+ Y+ u" A5 p& ]
7 I$ g) C$ |" K1 ^$ p& u$ D
" R( T1 A6 s$ E1 i& V7 p& q var itemFrames = page.getElementsByTagName("frame");
7 k, x+ E' V/ g1 F# S var itemiFrames = page.getElementsByTagName("iframe");
' c3 Z2 Z2 V- T. V) P ; i7 D, P! N/ W0 @7 o
var frame, iframe;
2 j+ h7 w, G. n( T4 v3 C0 }2 B if (itemFrames.length > 0)( T' m0 u5 a& L1 y9 W |
{* p5 w( A4 X9 S- M; u
for (var i = 0 ; i< itemFrames.length ; i++) 7 [6 G4 L) X# p. l5 `+ z4 A2 w
{# p5 z/ W1 j$ w6 w' G1 d
frame = itemFrames.contentDocument;
" W S, o& e) D& |6 V- L! f this.RemoveHide(frame,objname); $ f( G$ a, D8 d8 q9 j3 o* `6 s
}/ b7 h4 k9 k- k8 `. q; Q9 K
}7 Y7 ~2 L) u* O0 Z6 j
if (itemiFrames.length > 0)
) f+ L6 ^2 P, F& i6 p {
- u5 L y2 M5 R% b9 \ for (var i = 0 ; i < itemiFrames.length ; i++)
; F% m# y2 L) R/ O( q% _% ^3 B0 z {
8 Q" v! {; K+ ? l7 w- W0 x iframe = itemiFrames.contentDocument;8 V" a" f4 B& a0 W3 s3 P7 q
this.RemoveHide(iframe,objname);
0 F& Z3 @% y8 y- O$ Y1 @" u }
4 Q3 K4 b" `7 y2 q }
9 t" ]) r- Y7 s+ l: Y3 V }
, q: U" J% t- E catch(e)8 y# E) w4 x r: L2 u1 H% \# e
{, ]( \: p4 Q3 l* e
if(debug). \5 o& l- m5 {
{
4 H4 f$ T5 R; ~1 R4 [5 @ alert(e.message);7 ?6 o+ ^; X. q- P( j
}
- G, Z( {+ O" \5 J/ ^- @ }
B- e+ R+ t d% m9 f1 T }( w' R. j4 F5 D9 Y
6 T, D6 @ ^) |6 Q" q}
- |, \' x1 Z/ o4 i% c4 j/ x; u
( {# `& r1 n, a$ kfunction getRGB(colorString)6 {# h' q+ A( z
{% U! p9 N+ b8 c; ` F
var RGB = new Array;
2 q m5 h' {% _: ^% o var tempSting=colorString.substring(4,colorString.length-1);
' y5 ^2 V6 z8 [$ ~ var tempArray=tempSting.split(",");
$ ^% T/ C! Q; Q! A# R' ]6 f; M% \- W" W8 U% L4 e! \
RGB[0]=parseInt(tempArray[0]); @1 }5 x% ?& q4 y1 V0 L3 Q
RGB[1]=parseInt(tempArray[1]);
: W' L0 j2 O$ }1 {7 V! L; u RGB[2]=parseInt(tempArray[2]);3 m+ x. a8 z6 W; z% e
; d: F% }/ v* L) u return RGB;% p: i% m+ o: r0 M
}
# k! k! }1 E8 W: ^$ Bfunction keys(evt)
" i) G' T! `. {5 i6 d {
2 h- D4 ]. r4 m7 z# y if(evt.ctrlKey && evt.keyCode=="81")
& {+ f! h0 Y `+ J { & Y+ h9 v- U/ D8 N
CleanHideObj.on(0,1);
4 p+ {7 h. |1 q# p! B) n& n alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 [2 \+ y S5 h B9 h# p8 C* n' K 1 Z& W3 W0 _# k4 D: J. V6 v& X
}
" p6 o' Q- K% K! R, k- Z6 r/ V } 4 \; h- @0 c& w/ U2 E- H
document.addEventListener('keydown', keys, false);
8 P# i( ?) t" o4 kGM_registerMenuCommand ('Clean Hide',
* p' D, r- J1 s2 Q; Z* Nfunction(e){
! X( @1 R: d9 _: lCleanHideObj.on(0,1)
6 N" u0 S! V7 P. ~9 q2 [, Z; {alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 u# q, D% _9 _* o. o
});6 @ O8 R2 l: H1 |0 P6 V/ g% ^4 B
|
评分
-
查看全部评分
|