|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* A8 B* z( p* V* ]) t
$ f( g6 d* Z& p' ^. G) p1 ]0 b' S: z火狐插件,用猴子
: Z1 H0 S$ H8 e5 \+ T$ x/ {
) b4 o- e6 M( y! v$ I4 U9 Uvar debug=false; $ L: B* h- C2 f0 P: o% l
var CleanHideObj=new CleanHideClass();
- Z. n# p( g% n% b7 V4 o9 m% O0 p7 h/ r) r. W% }0 \
function CleanHideClass() 2 n/ B, @& O+ k1 E: \
{ - v2 e% P# {2 V: ^( ]
, t' J: \4 X9 S- {. [/ q" P0 I this.on=function(id,bMZ)9 W& C+ d- G9 z; d2 y& m0 s
{
3 j6 x9 ?% v' G: o 7 c" s0 f2 T. P2 O, A
if(id == 0)
0 I. ` ^1 h( o0 F& p) t9 J {+ R5 s/ q, G; P; I/ c
var page=/* document.getElementById("content").contentDocument */document;
; ?$ H6 J s. `4 l1 {3 X( D' N+ o this.RemoveHide(page,"span");
; h/ S% L0 Q" Q- @ this.RemoveHide(page,"font"); d. z8 C0 @- `8 t8 ?# b( K; F
this.RemoveHide(page,"div");8 `7 c* d& @3 b
this.RemoveHide(page,"p");$ s3 }' g- M6 W. P# u i
( c- m# V1 v) X$ w; H8 `% V
}) _" u* n+ k) \- F+ G3 S3 V
6 _0 e4 [2 F9 N! w \% |/ ~& {
}
' U7 O3 _$ V- C s: a3 [ this.getobjstyle=function(node,prop)
' _1 Y. O7 J& Z6 \+ Z. q {0 M) n7 S z* X$ d* J
try+ R0 U& P6 [6 }$ O
{
9 S9 K& R/ p; e4 @- R return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( {" ~: Y" j; [9 e( _$ a }- g) ^( e) b5 W
catch(e), q. ?% M5 q t A; Z" p0 z, Q
{) @6 J! ]! F3 H, ?
if(debug)
2 t! c) j( J* _* H: L6 H- ?4 M9 \- \' c {
" \1 `7 r% t2 k. S2 H alert(e.message);
+ J Y* | f7 F }
u; Z) \, t6 U% m3 p
1 o$ \3 N' A0 \0 u$ U return "200";) D2 q1 \! s& G) y
}
1 X3 p8 b$ M' L0 R: G& { }
1 `2 w7 [* l; L
7 N( V. h& a( f. f G this.RemoveHide=function(page,objname)! j2 C: [) }7 _0 I# P+ w
{
) \) h1 E7 c5 y+ } try
) Q1 @; ?! A/ d, ?6 T+ q {* ~. q: w# N% H5 T ~; S
var minValue=15;8 }4 N+ ^& c% D& G* F) c i
var objs=page.getElementsByTagName(objname);
% b& h5 R* h: S( b
; H: j8 m& Q; Q2 X$ K8 H if(objs.length == 0)
0 e+ P7 c( R! x {
2 k9 w- {$ ~+ E if(debug)
1 a5 g% H. _4 p0 z" @$ w {+ G8 ^1 B) {; c
alert("no object found!:"+objname);
w8 ^ P! I& ^& }; s" Y }0 n) V& }* C0 L3 _- [: V
}' u* x; t/ ]2 \) a1 J% e
else
3 A( `7 O" \: s+ @$ C( s+ A {, m3 Y1 w& V* U
9 C' X: {+ M. L5 ?" o for(var i=objs.length-1;i>=0;i--)
+ _* k* j; N/ \) _* x7 ~" M0 p {" `: U6 w2 T8 m" d1 l8 j
var node=objs.item(i); 1 ]9 _ W$ R: N% R
! Y7 R9 ?4 } ~2 e* ?" _ 5 q' ~& p' I7 y+ Y# S- g9 }
if(this.getobjstyle(node,"display") == "none" ||% H. K4 N6 m; A# h7 {% e1 {7 W. k
this.getobjstyle(node,"visibility") =="hidden" ||
# J: l- n$ X% }- K6 T; q parseInt(this.getobjstyle(node,"font-size")) == 0)
# m# R3 G2 ]$ M, ]; P { l) W" v4 G$ o$ t/ K
if(debug)# [4 ~& h- _( ~1 F9 l8 m: ?
{+ ^0 N* E5 O; }* p! r o0 r4 A: o; ^
alert("remove invisiable!");& ^4 G8 v: G- _2 ~5 @ Z
} g! a* S6 e- S% e1 P
node.parentNode.removeChild(node);
# X8 j z# U/ ^1 p/ R5 U ! E5 D2 ^% J- m+ Z, C
}/ [3 g8 w* s5 A, ?" c
else 0 Q( ^' `. B3 l4 u8 a! k( `4 j, g; X
{
( l; `0 [/ V }( T+ u! Q! m% y if(node.parentNode)
2 T# \8 ?1 S9 O2 Y" k- c v {
8 L8 I( W( ?( [3 r3 D: C. G. j var orgNode=node;
8 x' |# C, e# U. M: H5 Q( B var orgColor=this.getobjstyle(orgNode,"color")
: ^8 e* R. m- d6 ^3 [! j# [+ F var orgRGB=getRGB(orgColor); + _3 ?0 I/ ^; g# {7 W& l7 h4 J
0 K; X0 J9 {& @
var parentNode=node.parentNode6 C) X h; }( m4 n6 x. k9 ]# }
var parentBgColor=this.getobjstyle(parentNode,"background-color");- T# m. @4 s* M, J" K
$ N& h# ^- ? K$ C( i/ N
var isLast=false;
2 b1 H9 B6 L* U- T" F* g9 M % `6 n; F6 P+ N5 t9 y' l
while(parentBgColor == "transparent") : ~) @" j- b- w6 S+ Q- F% A: @# \
{2 C" {2 c* A4 `; r
- f0 x$ a4 p3 k% `0 _, t
/ l! H d$ ]( ?9 S if(parentNode.parentNode == null)4 v+ d) c) H5 Y' L9 l8 Z+ T
{
# Z' S5 `* w( a b, H3 v f8 D isLast=true;
8 E+ h- d% O/ Z" \! _5 y break;
/ Y* ]- t, |6 B7 K0 X" k }- s, T* t' z, l/ c2 D
parentNode=parentNode.parentNode; g7 Z$ I3 j# ^2 Y, n3 @
parentBgColor=this.getobjstyle(parentNode,"background-color");
7 I) a& h; V( `# f7 Y) G5 J, H, B! D5 K+ D
if(parentBgColor != "transparent")
0 m7 |8 m6 z! e: H8 I {. g8 K8 s, L' M/ c! B0 V
break;7 j0 q1 t3 u& z/ Y) a8 t
}
0 O0 ^) ?+ e2 S }
* J6 [& K0 q3 b! F if(isLast)
- I& s3 r! ]( j0 _ {4 r7 y- W4 h2 b! K3 A" M; T( D
if(debug)
$ O6 F( N# l0 k5 d {. U P/ I. l0 i" G: n
alert("last!!");5 f1 j. I8 Z: q+ s
}
* M5 G* {( a* X* T3 Y% C if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. g$ N* `. j- F9 X/ }: u! G {
' M. u& g6 K; z, ^0 l2 ] orgNode.parentNode.removeChild(orgNode); + Q- t" X2 y( O% H
}! B) P' t- L3 g2 ~
}8 D: B: C8 x D7 l# @
else
6 G3 z5 h, H } {: a% y, c2 }/ n$ _: Q
if(debug)) p, l# W4 X! @
{5 F' k5 W4 b2 b$ ~6 ?
alert("compare color and parent bgcolor!");: b. `* [; o" o" I" }
}' F% \1 L0 x& j5 Z# h; r- z
parentBgRGB=getRGB(parentBgColor);
2 ]5 @2 w1 B; w) N5 X2 \ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- {' w3 @8 p5 S: Y
{
0 T$ G1 S* u. g" G orgNode.parentNode.removeChild(orgNode); 8 ^: H T) @" }5 H' b
}) A1 x( A- M9 `# Z$ \1 S7 Z
}
9 r' g0 C. ~; d0 N+ B }& W s& x$ B& j: G; f: c. v8 A) U
}
9 c& G% ]& S3 a; ~ }2 U' V& L8 d' q2 a D! j; B
}
1 Z- k4 X; u7 X0 J5 T$ q ' {; ^! `9 [7 |
P1 I6 N$ z! d! o) L+ n3 U var itemFrames = page.getElementsByTagName("frame");
9 I2 h0 t& K# T" w: ?8 j7 b% Y( [# Q var itemiFrames = page.getElementsByTagName("iframe");) {7 O( b1 [- H3 W
) N- {4 n; o; d1 c; ^' X
var frame, iframe;( J$ S' {1 n7 \( P
if (itemFrames.length > 0)
) Z" C' j& H2 k8 Q$ |* K0 q {
% N- u5 F- \7 n- B% W9 X for (var i = 0 ; i< itemFrames.length ; i++) ! \8 J! a3 Q: ^
{; `2 l( X' Z4 ~* X- |
frame = itemFrames.contentDocument;( { Z+ ^* S! b/ \
this.RemoveHide(frame,objname);
/ J, b( I5 f Y$ k }( J* H5 v+ t: c, A
}4 v2 w$ C0 y/ F$ _
if (itemiFrames.length > 0)
% l5 g6 Y) y9 [5 B8 |/ B {
1 M1 W% [ N) A" K& g! b! T for (var i = 0 ; i < itemiFrames.length ; i++) 4 ], E( q/ c, Q; d& k m& w5 @" `
{, F: ~6 @1 D4 e/ u( w
iframe = itemiFrames.contentDocument;5 G6 s/ u& P' a; J
this.RemoveHide(iframe,objname); ! b! w8 y9 X$ U
}. c6 D, v! s* e* R
}$ J3 Q L/ [$ ]8 ^4 o
}( m$ y5 M2 J \6 J% p
catch(e)/ S' H/ V% J( Y) V% A; l
{2 Y; [4 m5 N0 C5 i) i2 k
if(debug). p2 w) H$ ^9 _$ Q8 v. E% q
{! M, I3 ]4 w) p
alert(e.message);
N9 C1 d: W' o6 J; |( b' { }
/ s) ?8 Y; ?0 C/ n/ S }1 P$ U+ i7 M4 k" x0 j
}
7 R( }9 y4 N! x( x
# C: }3 j6 [6 x' V9 n) @: _}) S0 F. |+ {, {$ E
# w( `# [1 c0 o$ Qfunction getRGB(colorString)9 L _ H* Q- M. B- j
{
5 L, H2 w. H, D2 l var RGB = new Array;
/ L6 G) d! g: i var tempSting=colorString.substring(4,colorString.length-1);; @( n9 x" E! I# p0 Y7 I" ?* r, q
var tempArray=tempSting.split(",");% d! K* L8 `# N6 P$ o
. K8 z& |4 N( L
RGB[0]=parseInt(tempArray[0]);" ~% {9 ~# a. p% H* |
RGB[1]=parseInt(tempArray[1]);! Q' c3 l6 P9 }) n
RGB[2]=parseInt(tempArray[2]);
6 r0 \( j- g. c/ K - ?7 x. a0 h! A1 Y: j% d3 M
return RGB;
2 p& C1 a1 |4 M2 ]}
5 V9 L; E, f |1 Z: pfunction keys(evt) . h+ e5 y, Y5 ~/ W
{
, r7 s" T: b3 `5 X3 p if(evt.ctrlKey && evt.keyCode=="81") # ~ }2 _9 V! |
{ ) B" v+ t' F9 }! Y1 ~$ Z V) F
CleanHideObj.on(0,1);
3 t9 }7 |" v7 @; n \/ l alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. t3 a0 ?5 e( e# d/ P1 E. F 1 a+ L$ G/ C+ p" {+ y( W
} 1 w' O+ Z/ p' Y" }; ?$ P( H& z
} * |0 T8 ^! {3 F( [# `
document.addEventListener('keydown', keys, false); i: g+ S0 `/ I% L4 J* _
GM_registerMenuCommand ('Clean Hide',- N8 { l0 x# ~8 A
function(e){
8 y/ J: z% m9 E8 ~, \4 ^5 M! R7 z- ~CleanHideObj.on(0,1)
5 u+ `8 K. D/ e6 c/ [" `alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 T3 E$ c% j7 ?4 Q. g1 j9 H" D});
9 x: Q. E3 ?, q, ?2 Q |
评分
-
查看全部评分
|