|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
2 n- g4 x# a2 c
+ O3 W6 ^. I8 U8 e: O火狐插件,用猴子' z M/ ^3 x. `! T: w2 s, j
: ?2 J7 Q3 r9 ^* g1 _/ U" zvar debug=false; 0 J" ?" S% d+ Q: v
var CleanHideObj=new CleanHideClass();
' Q& r1 M: }* \( m# r: K) L% g1 [8 A2 j% R y
function CleanHideClass() & N0 Z2 y: @4 f4 k# _+ r
{ ; S/ ~" {0 k5 ?! s3 J+ q
6 R3 Z+ ^ y- s' M this.on=function(id,bMZ)! V( ]4 S4 V- r7 |: C: t
{: Q2 E, Q& H: v* G3 V5 X/ B
! Q% Y7 \$ b' e5 e2 X+ X! J: G# }
if(id == 0)
$ j2 E" m* R6 ]8 d/ J9 a; y {
q5 j$ U4 X0 m! u0 b1 o var page=/* document.getElementById("content").contentDocument */document;
$ W, n" q% Q; r; \6 @9 Z this.RemoveHide(page,"span");/ d6 Z- r) m! U9 z1 w' d
this.RemoveHide(page,"font");6 ~3 c! g) u6 a1 n
this.RemoveHide(page,"div");
+ A/ L( [+ w, ^3 l this.RemoveHide(page,"p");; ~2 Q! t, ]( ~
3 R4 L+ E) b! F: H
}
7 R* x- `3 I/ A7 f+ q. l % i. J" Z# b6 {7 H
}
. \# g- N* y. _ this.getobjstyle=function(node,prop)
" V, v- m3 A6 d6 n3 V0 v& ]# z; U {
0 I0 {9 U/ r0 r5 Z try
1 l- J# t8 X1 Q" {5 E! O: K {
1 u+ [. t! Z" [0 N5 K7 B, L( s return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ S2 b& O2 u. ^: w
}5 q) v* h1 g0 j% W7 x( J) z1 E9 C
catch(e)
) u0 z6 _/ _' H3 p0 t) M {& a) b9 E2 ?5 C
if(debug)
: ]: w4 Z: |# F( D% p' G+ O9 ] {
- L: h$ @, `; R* o3 @" Y alert(e.message);2 Z3 \" ~/ z2 l' L% T
}
' a) Q3 G. ?8 m: R6 {0 d: ^ 5 N' c2 p( b2 c& ~7 P5 P) n# j8 X! K
return "200";- g" |- F6 e7 ^1 v9 @
}1 w z& B2 H/ {8 R8 ]
}
% P. O) H0 |; p/ `; C! ]9 r7 n3 n
8 y$ ` R$ N, q0 }. d this.RemoveHide=function(page,objname)
# m/ w1 y( L/ J! L) b6 |; ^ {% Q# n3 }9 X9 m4 G
try
/ f8 ~( f/ q2 [9 j {
; I( `5 a6 o- F6 p8 ^ var minValue=15;: x8 y* }7 ^3 @+ ^* o9 c% x3 P( \* _
var objs=page.getElementsByTagName(objname);
4 n" t+ |. h' h9 Q% X6 f6 Y7 x9 a) M0 l d" l- M$ ~
if(objs.length == 0)
# D" F' |" O5 u6 `8 S {
0 Y+ Z7 M: o1 D if(debug)7 @( o( N" h( r2 s- {" t; i. O7 q
{3 C4 c# o0 ^$ U/ ]
alert("no object found!:"+objname);
1 x1 N! D% D, h, O9 x }# k5 g5 s$ k( G: \7 R
}
2 U* O, E3 H# r8 ~7 C else! |( M& R! W7 ]6 u& `' Z+ }
{
( T- B+ t7 P) V* b) V ; Z! ], q$ C/ D! D8 Y
for(var i=objs.length-1;i>=0;i--) 3 i0 i' }% v" T, J
{
2 i* S4 F+ i3 S) i var node=objs.item(i); $ Z, Y W' @' Q# p4 \+ f( Z
* B* x; R+ W) i 4 i" v$ U3 ]9 k. T4 X# W
if(this.getobjstyle(node,"display") == "none" ||: o* Q" q; O& J( k* T+ Q/ m3 U
this.getobjstyle(node,"visibility") =="hidden" ||7 Y0 g( ?. V; F. P( p" m! T" b9 H
parseInt(this.getobjstyle(node,"font-size")) == 0) 7 r9 O: ^/ E: h2 G, o: }
{
1 S' S" K. Y: [& H7 k! H- h; p7 A5 i if(debug)
2 @0 `1 N& j4 H* c5 D7 f, C8 t4 z {
: L, @0 J( V- u/ q+ ~% C0 h/ a alert("remove invisiable!");
/ o( t7 r, k6 P6 _9 b }
& v9 H4 t: b0 v; U& E node.parentNode.removeChild(node);* a+ Z5 G) P+ d5 `" b& z( ]- m! H
& p5 R1 N4 e: T) R }& y* }- n8 y0 B' X
else
( Y3 @7 Y- m% n% f1 j% U {9 Q) t& r+ u- {2 n
if(node.parentNode) * G8 Q0 ?3 \* Z% M
{- Q3 y i; b- R2 C+ s8 }# a
var orgNode=node;1 q# i+ Q3 t9 q% U- Y$ [
var orgColor=this.getobjstyle(orgNode,"color")
8 d3 x" f- j5 Q2 [5 X var orgRGB=getRGB(orgColor);
7 Q$ A* `" O8 g# g8 O9 g2 p( j 8 ~" i5 y/ }7 L6 Q8 ]& B$ }
var parentNode=node.parentNode
6 B, M# B; U' l" q7 {( N- \9 a# A var parentBgColor=this.getobjstyle(parentNode,"background-color"); |9 U7 K: Y, g( T; Y
/ E. V* T4 T; b" d& L& |4 I \
var isLast=false;7 V! I4 a4 Q. p' O0 I/ O/ r
; `8 R3 S7 j- k( }0 V* V4 e7 V while(parentBgColor == "transparent") 1 O" x% `) _" L. r
{) N6 {& [+ e+ i: D4 `
h% V( r+ J6 a' J: N V
5 ~! r4 f, P" k5 m; q/ [3 ~9 ^ if(parentNode.parentNode == null)" w# S3 U, H a. |
{. A. q4 s8 H/ B( t+ r9 s' e
isLast=true; o0 a; _% u2 t1 @$ z' U' [
break;4 C2 R1 e7 q% ~* [: C% a% h4 U
}
1 f6 p2 k$ ] Z! `- X& l/ ]: f- U parentNode=parentNode.parentNode;
+ k% ?% S7 }. `/ t$ @& G1 @ parentBgColor=this.getobjstyle(parentNode,"background-color");
( ~+ ]; b* R: z
6 \" x, m1 M! u9 i if(parentBgColor != "transparent") 3 D" ^4 ` m! P3 e0 O y
{
' ^/ F. B0 \2 q break;* r) s+ L- R" U4 I# b3 i; J0 k
}6 B; m& D& \. M# v) W7 T$ A }" Z
}
* ?+ Z! C* S3 D" |) j# Q. B1 V if(isLast) ! @( _, q( Y1 Y {, c( l
{
- ^: d" i& V' Y3 F, ? if(debug)
/ a* M3 o) [/ ?7 x7 [ {: V) ]$ E c( x# s6 }
alert("last!!");
% ]$ t. w, z6 \: n6 b }
) U; e( f& ?4 t6 j/ z3 A1 w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# d. b; h5 L6 O; b {
8 v3 h9 @; i6 b: p. y7 o orgNode.parentNode.removeChild(orgNode);
5 E |2 ^0 n& ` W& Y V }1 ], h+ J; h& X
}
# @ I1 b! ^+ E& n7 G; @* o" _, I% F else
6 [' ?% t4 `6 P% H# t* h {& [. [7 C* c! o
if(debug)
2 d b, f# w( t0 c6 x2 R {
[# X4 W7 y6 ~2 W6 N0 Y; Z alert("compare color and parent bgcolor!");
) V7 `% {/ t" s0 ~& y }, u' o8 d3 n# u: D" \% p& y4 ^
parentBgRGB=getRGB(parentBgColor);
6 |" D9 t6 P$ m& G. q% b if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- _# ^2 u+ T( b7 d% D& j {. j$ ^* g7 ^7 R
orgNode.parentNode.removeChild(orgNode);
/ N9 P S5 N0 K6 C6 y2 g h4 m }' a0 g; u; F& |+ R/ \4 g) D
}
0 R9 x X8 A3 a) y% ]7 p- ` }
' X1 j* v7 ?( e) x; m' O" Y }5 E: j) M2 [5 D! b- A
}6 F2 A/ X0 b g4 `7 M5 b
}4 f; D( A8 y" }
) s( T3 W4 m+ D0 f& I3 \. s6 V
A- L! T- N0 F# E# g5 y1 y) W
var itemFrames = page.getElementsByTagName("frame");5 C3 h6 ~; l) v C5 n* i) x1 s
var itemiFrames = page.getElementsByTagName("iframe");( o/ q1 t$ \8 [ e, |
4 E0 k& n7 k6 ?+ n
var frame, iframe;
% Y# A* X; t# } if (itemFrames.length > 0)1 c( n! R; V( y' X% p2 {
{$ g; j4 ?/ Z1 m2 C, l; m" K
for (var i = 0 ; i< itemFrames.length ; i++) 0 `5 v: N8 Y: H$ b3 i. i
{
4 j: A W) u$ g3 q/ P7 ^ frame = itemFrames.contentDocument;
4 h$ Z( r- A/ t3 F1 ~! S this.RemoveHide(frame,objname); " D# ^$ g; N" j4 \: ^
}
( P# m* Z5 ? H" x+ P }; J4 J( e7 J/ I* `
if (itemiFrames.length > 0)
7 g5 }+ x# U2 k# w( P' p {7 h& c' v. C' E3 w5 C/ ~9 e) C4 a% }& U
for (var i = 0 ; i < itemiFrames.length ; i++) $ a6 c; R z4 a/ B8 f; y) h
{
% \! G2 w, i0 u3 [$ Z' c. j2 t4 i iframe = itemiFrames.contentDocument;
7 e0 P& }" F0 D7 M this.RemoveHide(iframe,objname); 2 ]* R. {' N! \" E- _8 O$ @1 S( j
}& \$ r* A1 @9 D$ h$ r4 P( b$ K
}
3 Z. f1 h; ?) l8 F$ E }* K' Q- X/ ~5 W
catch(e)' y& ?; p( Z2 h3 q
{. \4 Q- c' L9 q% @ c" c2 D
if(debug)& l9 [' @% a' `! C5 |( d* u
{
8 o: u* e+ ]! `0 F7 {5 P alert(e.message);
# }7 A! q& S1 U( ~/ D }2 f9 {( R% o" Z2 O U: l1 y
}; |- D) ^. L& G8 P% S; o
}6 [( Z8 J& f) h9 j4 X
1 T/ o% `0 l# s}
S8 ^) n: d( b- I, U5 e
; M3 l1 M% b; {( k8 v& [function getRGB(colorString)
( O5 X g1 x) ]( w{
) U4 d" e/ k' b) \4 B' k3 ? var RGB = new Array;& l0 J. O5 @; T1 l, d3 T% K
var tempSting=colorString.substring(4,colorString.length-1);
2 w+ f7 E8 a4 i) r0 d var tempArray=tempSting.split(",");
/ l3 x( t7 r7 M, K; Y6 v A- F$ Z9 z, S. o( S3 m2 @2 ~& n( ]) @+ ~& l
RGB[0]=parseInt(tempArray[0]);
7 ?8 C( f$ i# N* V% w RGB[1]=parseInt(tempArray[1]);) _9 k! _% G Z
RGB[2]=parseInt(tempArray[2]);
6 ~% w: S$ n) u. N+ v, N f# O
4 H& r2 J6 y, I9 B6 v return RGB;: N; q6 \0 _! ?3 x5 l
}
& Z1 I- w) d$ u, w: Zfunction keys(evt)
5 c! W7 C Q2 |8 O3 K. q' K1 i Z7 M { ( S) A" M: ^5 y' |+ y& }4 X6 e
if(evt.ctrlKey && evt.keyCode=="81") - W3 Y9 O8 [4 P6 [: A. v
{
& d$ ~$ B3 a6 ~ G, |( Q! q6 R% u! e CleanHideObj.on(0,1);
3 u' L, U# T5 ^8 {! R2 W alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 E2 w% U1 |" K* c1 A% n! M
^$ a$ l$ x2 A4 Y1 Z& G }
+ H" h1 a7 z. V5 f# e m) | } ! B( D k% x* f% u* {& {5 o
document.addEventListener('keydown', keys, false); 3 k0 {( z, f( M* c
GM_registerMenuCommand ('Clean Hide',' F0 C' T# e5 L3 d; L
function(e){
0 Q' C( ~3 Q2 O0 ICleanHideObj.on(0,1)9 y- Y* m. s1 F4 f4 {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 v1 d& a/ N1 P});6 ], W" |' ^, S' \
|
评分
-
查看全部评分
|