|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' B1 v: v9 S1 [" O+ f) s
* Q2 m/ O3 o N火狐插件,用猴子
- Q2 v3 ~: H! q- \; t9 ]) k+ U: E; h$ z2 @
var debug=false;
" `8 ~6 C4 m, F8 Z: evar CleanHideObj=new CleanHideClass();( X" M6 b8 U( E) D6 Z( V
% S& r' h) ~3 C$ t" c6 e4 U9 f: \function CleanHideClass() & v, D9 o3 p1 A3 g
{ * n3 c7 Q3 s8 o2 y" [' k
9 K, n* C' b8 L2 q, [ T( E0 m
this.on=function(id,bMZ)6 E& `' r9 w+ E7 o/ k
{
/ |4 @/ c9 u9 Y. N
' O+ z8 P2 i7 J if(id == 0)
1 F- V- i; Z, `' _; Z& G/ b+ p6 G {
+ ` d9 ]8 g; H var page=/* document.getElementById("content").contentDocument */document;
8 z, _ c7 e% V" s$ u this.RemoveHide(page,"span");
: F. A& c! N i% w3 W- [ this.RemoveHide(page,"font");( a5 s# v; T) F7 R3 C u
this.RemoveHide(page,"div");
! \- Q6 a, n4 h this.RemoveHide(page,"p");. Y: [/ m2 \; A8 p7 z) L" D! |! b; h
0 M+ y! |/ M2 J, a* G; m0 Q% t
}
- T# M- U4 X9 z8 I2 E. j: x
' _4 U$ A" z' J0 Z1 k9 g) S }
) b: u( Y, _) H) _ this.getobjstyle=function(node,prop)
6 `1 W' [. h, R: k {4 f8 w; D& U F9 a, {5 E+ F: |) s
try
& }1 X! D, x E! ` {, f1 J2 W7 F- w# B9 o0 N# e* D# x
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 h* }( A6 ]- M3 I: }7 K& H, P U
}; ~* _% Q W# y+ x
catch(e)4 u2 b! T( I# E! @+ R$ u) |
{
+ k, H0 V. d8 T$ i8 U if(debug)9 x j0 c( K# I l3 v
{
1 Z: ~$ @% `8 H. q v alert(e.message);
& u0 ~1 B% n, Y! E4 l }0 N) v. A% p1 m$ U! P
; O$ z( r( G# N return "200";
( ?8 X3 H5 M1 H5 | y9 T }. R8 w0 U! a1 e
}
4 M0 z: y; Y( K5 _: r! V ` - y0 T8 R" |9 f$ Q: j1 A( Y) Y
this.RemoveHide=function(page,objname)
8 x. ~' G" D$ d7 B {; [9 \! V+ k3 m7 a
try3 ?4 |( M) e2 J S/ y$ }& }
{
+ i" Q8 A- p( C% |& i var minValue=15;2 c0 G$ H8 X0 c4 I! s. A, ]3 k
var objs=page.getElementsByTagName(objname); 8 f& W Q' }! j2 E% |# z
) e, y4 ^! @, u; h- a" Z
if(objs.length == 0) w- k* ^0 N3 a$ s: p
{. B0 U% @9 D( {+ L* X2 q" Y
if(debug)2 u/ ~$ z6 V& A& ^4 n% j: s0 E
{5 t) |) U/ _" k1 t7 ?
alert("no object found!:"+objname);* k/ n: m; N; P5 k: u$ I; ~
}1 ^8 K; T" a6 p+ `9 L
}% j. U' \7 { \7 c+ T; u
else
9 L2 j" V( | i3 K) ?4 w5 e {+ V b, r3 D; `5 k* i5 K. p
7 Q" U' [ H! f1 o: u+ u; n5 i; f1 m
for(var i=objs.length-1;i>=0;i--)
) S3 W$ b$ W, E8 u8 b3 T, w2 M7 i {
6 v+ r# ~' D& m! m0 [ var node=objs.item(i); 2 F9 R$ c- J3 G5 F0 S1 {
\& j" v" S. u, W6 z( Q+ X5 H
0 R5 C! t5 C- M. ]9 i9 J
if(this.getobjstyle(node,"display") == "none" ||
% |$ F6 T: [: @ L; ?) ` this.getobjstyle(node,"visibility") =="hidden" ||
- y" @% d0 \$ ]* \; _' Q parseInt(this.getobjstyle(node,"font-size")) == 0)
' m( K- Q$ }% }. b {4 P& `# ?0 e7 q- Y( l
if(debug)
* }# J/ H8 o. I {
& E! G6 ]0 q! l- @6 D% G alert("remove invisiable!");
7 M" {( ?: c' @$ Q5 t }
9 E# f* ]7 t" ~: A2 K( p$ Q node.parentNode.removeChild(node);
: _+ T, k) q* Q, m& i2 n9 [/ _) q
: ]6 g% K4 E( Y- V$ T" }" o9 q' ~ }+ P. }% \/ M. R$ o) t
else ; P+ E7 k2 Q, Q* Q D/ A2 w! V
{
& @# y/ u" d, \. y2 ]3 | if(node.parentNode)
6 J6 N, L# v" F3 M& w6 E" } {1 T8 q$ a: w4 I; o) Y9 \9 D$ v
var orgNode=node;
: m/ j0 r4 x0 ?- q5 t/ d+ E var orgColor=this.getobjstyle(orgNode,"color")
2 h7 F. x! h, `! ? var orgRGB=getRGB(orgColor);
! H& `4 ^% U" b3 q+ b; ^4 X& C! q ! ?0 w. Z5 v. F5 l: v
var parentNode=node.parentNode
8 b+ K- d9 U, ]9 D7 U var parentBgColor=this.getobjstyle(parentNode,"background-color");* O; r% [8 e* K
( \ |/ E5 u2 H8 p$ _
var isLast=false;5 D" V1 j6 I8 p. W! |
* B% V' M3 n; c" N while(parentBgColor == "transparent") / ]! { K% \% e2 z9 E5 y/ L
{9 J$ P0 J) }. N
8 F: v- A1 N5 Y. D3 R! ?% b/ A, P# p
# m# S3 j m/ N3 O
if(parentNode.parentNode == null)
5 r, h& r) ~' j. ~0 Z6 e q* B% F6 s {, B% [) O6 ?+ w3 m# ~0 L; v
isLast=true;
: l6 e0 D; m9 n break;7 s6 R! d% E! M* D* ]# v. f# W2 ?- B
}$ ^, G* h4 |" T9 b% I6 s* L
parentNode=parentNode.parentNode;9 \6 j) `) a/ s3 S- b
parentBgColor=this.getobjstyle(parentNode,"background-color");- d( `( N( e' X' ~
* d+ X/ G: l+ _5 j: o# w if(parentBgColor != "transparent")
% t2 Q" g' }9 t2 ` {
0 j+ K a$ R( L9 l5 R' v% s break;
: B" G! P. @* z7 } }
- e. n" A* W( ~* A }
$ K( r, ~, t% V9 g: n if(isLast)
4 M5 \# x0 o' |7 Z {, Z6 n/ M$ K$ I5 {, X2 B4 @4 e
if(debug)8 b; C. d, z" ]
{
* J: S8 Z; }2 ]; e alert("last!!");1 D r' E, A! x7 I" ^
}" Z3 S9 W0 H! T0 n2 v
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( L5 i2 ^8 D8 k; K, J8 u
{
4 @/ ?% z1 j: q7 j& l orgNode.parentNode.removeChild(orgNode);
/ {1 E& d* W% l }
* S: z9 `7 E$ b3 l5 c3 A, V }
6 u8 x# ~8 |4 h& S else
+ E0 W; o% H: D: F1 m {& J3 W, a7 f4 n# i- F
if(debug)" p$ ]( y- {5 J b% ^* k8 H& i3 z
{
3 n& C( @' f, y0 k alert("compare color and parent bgcolor!");
. Z4 f1 X/ w+ O8 r }4 f u4 [( E2 C) j+ \
parentBgRGB=getRGB(parentBgColor);0 N3 }4 f: U Z/ `" E+ O
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). j. u- u6 h) S' D
{2 B9 ~/ n. R) Z O/ K
orgNode.parentNode.removeChild(orgNode);
5 Q0 {, U- t' [ }: }, ^5 A. y/ A, @
}
+ h$ U6 X5 w2 x8 J }
" B0 y) }+ m5 Y( t& A! O, h }2 t5 p1 k) _7 R, u' [" O I
}0 _) X% r. _6 s) B
}
: |( i1 D4 I" u( P+ Z) w / m9 `2 f/ f5 T) ]* C7 B6 Y
{" k% F% B% E A6 S
var itemFrames = page.getElementsByTagName("frame");5 d1 c; t3 j, c$ I7 O8 E
var itemiFrames = page.getElementsByTagName("iframe");
8 [% A; n, ~# n& h3 o( H* Z
2 ?1 w T0 G7 K9 a( }9 L var frame, iframe;8 n- | [6 R, H. m) T
if (itemFrames.length > 0)
5 g8 G! [# G% |0 S q$ [ {
+ L! R3 w0 H9 J4 z for (var i = 0 ; i< itemFrames.length ; i++) 8 Y/ x8 ]6 l" a& O
{
% O7 F; |; m# f6 f- S: q# K frame = itemFrames.contentDocument;5 q5 Z6 j A* C+ F+ R; C4 {8 @" ~
this.RemoveHide(frame,objname); ( B% D& g9 t5 N2 [, F- ^# l8 B1 K
}
! E+ I. c( G" r( { }
' b; t" o& U, X0 v# ? if (itemiFrames.length > 0)
1 h! i4 G3 d. ?/ q: L {
' X4 C# `% C, C! L; I# z for (var i = 0 ; i < itemiFrames.length ; i++) ! V+ l" c& K O9 f6 x) K3 h5 e
{
* P: ~0 }; d6 w& R0 j9 t, B( d iframe = itemiFrames.contentDocument;
: x) d+ C% ?3 t2 |9 ^. q- a, Y0 j% V6 A this.RemoveHide(iframe,objname);
$ B! ?* d ^: A* z" m5 ^ }+ N* |3 Q( ^" Z1 ~% u
}% A2 a* s. f# P6 \
}* \# R; H# Q6 R! k
catch(e)4 t6 v4 @4 L X' s/ @4 \ S
{1 s5 _* h: _) {1 r4 u
if(debug)
S7 x! {; Z% d {
3 M$ S2 G6 C, v& K0 [% k' i4 P alert(e.message);
2 l- O+ }% C( H$ \! P }1 |, E" P/ O6 u) g y& `0 \
}9 ~+ @ h, @8 ?6 l0 E' h2 n8 c
}7 ]8 V5 a) F" O$ F8 f4 k
# Y9 u& u$ W% L' }) b}/ h2 V" L! i3 Y% C2 v* B* w9 K
2 H, u9 D8 ^" D) jfunction getRGB(colorString)
) y4 t% d% I' E! w# f{
6 e# p' Y4 G9 ^6 t) |3 ? var RGB = new Array;+ p0 ^! V$ s5 k# n. v& f) ]! j
var tempSting=colorString.substring(4,colorString.length-1);% h. `; Q* h1 G; j- H' K$ p
var tempArray=tempSting.split(",");% W7 _- I1 C4 M( K6 F3 _
& B- e0 Q" D% }8 [1 N RGB[0]=parseInt(tempArray[0]);
: z0 }; s! e* }( ^( a( i RGB[1]=parseInt(tempArray[1]);3 Y9 { }- J$ {+ ^' B
RGB[2]=parseInt(tempArray[2]);, j. P/ \5 ^2 b, L6 K( V
' ^0 {" V; _# N4 T# R. H7 s6 K
return RGB;* P; \* F- V, }) f3 R! g4 [
}( y! i, m7 H* V
function keys(evt)
4 C9 C6 V# D r- b { ) P: J# l' _; ^4 w, ?
if(evt.ctrlKey && evt.keyCode=="81")
9 Z* C y9 `9 u& z { ; Y, M, ?0 ^+ {: a! R
CleanHideObj.on(0,1);
8 l. U6 Z" }6 j) G- Q0 [2 r- B6 ^ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - h. H( b( U0 H. K* U8 P
% G! h. |$ j! ^2 `9 P8 |0 v
} # ?: |" y2 H# s7 z% t& S
} , j: B3 E# x; }
document.addEventListener('keydown', keys, false);
I, `8 z! K+ ~* _+ ]7 MGM_registerMenuCommand ('Clean Hide',$ e6 e4 @% l3 P( ?* r3 O
function(e){
7 |# v( \ a1 F! xCleanHideObj.on(0,1)! t9 B" {3 @) U. ?) D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ D7 r6 i9 }2 A' P: q* |
});9 R9 v* U S4 N- @2 ?1 B
|
评分
-
查看全部评分
|