|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* F# {- p$ V+ c n) P
U, m3 m6 [" H9 \3 J5 u( t {火狐插件,用猴子
& C5 [% O' e- l& L5 t6 W# I
9 ]7 P" s; W; ^9 S" C2 p1 Uvar debug=false; ! M* e/ [0 W1 Q3 ?
var CleanHideObj=new CleanHideClass();
1 ?& y! K3 b; u: }$ f& i+ W/ N, w2 T9 T
function CleanHideClass() 1 [# y. \; H+ _; f$ R7 c0 n3 c
{ & C& U+ i: q* R1 l; Q9 |
/ w$ p; A0 m6 [, l) s- i this.on=function(id,bMZ)! o1 T2 ], T3 x' A3 R6 @2 d E. J
{
/ P3 i5 w- P1 t3 m: L& Y: l ' q4 p+ o. T5 h0 e# u: d% E
if(id == 0)
1 \+ S. S! I9 R9 r- b4 N p8 s {9 C; Y5 b/ V: `
var page=/* document.getElementById("content").contentDocument */document; 7 w" R9 d" o) v- d Y
this.RemoveHide(page,"span");
$ I$ j1 u8 ^1 _0 Q this.RemoveHide(page,"font");
; [7 x; m- E' O9 B5 k this.RemoveHide(page,"div");
+ L. Q% `$ h9 _2 R! E. f this.RemoveHide(page,"p");
6 D& D% F( y( w8 O" c: T7 I1 N
2 B7 t7 `% L5 @ S }
5 ~7 n" ~. q, B' v; o( w ) r( ] J* s/ C" z0 w! ]) E
}
" f/ }% `" e; g8 H( N' p' R this.getobjstyle=function(node,prop)
$ ^/ f5 v8 |8 E6 a) q: X {
1 d: t3 g9 ~0 n3 {6 u) J try' Y( x9 W, V. Q; N& L5 t! D: b
{0 `) W4 G9 Q2 Q- {1 _
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. f7 I# X9 V9 c5 x) p" i4 ^/ A
}7 S2 C) a, @: Z6 Y
catch(e): J! ]5 H* O { O9 Q% Q
{ ]* P- s6 s5 F% I. ~
if(debug)
1 ?9 {" ~- ~9 d+ v6 m {
. ^7 |5 y2 U9 v. L+ F; P alert(e.message);' b3 J% c7 ^, ]$ j# x8 B
}, y- T+ u% m# c7 T* l
0 G7 B6 M! @8 x0 U return "200";
! D+ q. M3 j* w' W* c( D }$ r! E, i% ]( A3 `: n8 E/ b, _
}1 ]5 ]- k. F5 q! Q, k/ U
2 g; E% l" _/ ]. q this.RemoveHide=function(page,objname)2 g' e8 t! L7 C- R+ p z% v
{
1 e6 g6 q7 I0 v3 K: I+ u0 z9 L try+ Q+ x7 [: F9 q, M' N5 ^
{
( ]: w7 I6 l( x; [1 D5 z$ u9 O( r var minValue=15;, j) t8 S, A/ X7 R8 b, }5 f( W
var objs=page.getElementsByTagName(objname);
3 J( ~$ p1 K7 L* }( S
; T7 o9 f! c) G, S+ o" d' t if(objs.length == 0) " t/ O; _3 v! C# d1 F/ C
{$ C3 S! E. o2 h% J
if(debug)
0 P# y; @& C5 a) {- \; G {5 [* L( C1 R( E( U! M0 l0 ^
alert("no object found!:"+objname);! m) `/ h4 W/ J9 }6 E+ ]
}. z0 M# d( m. _0 N O9 P
}
$ P2 ~+ x( k9 I( O; ^ x! k4 l else( G- j- P5 a% R1 q
{" }' r m* b- L% z, _' o; ~9 L
1 P# f+ F. v- W& d' n3 B7 C
for(var i=objs.length-1;i>=0;i--) + D- d' K7 C/ w) C& z J
{! `" S+ P4 a5 |7 _0 A4 p
var node=objs.item(i); 3 S* t. E' {4 d: I
( f. x; J! g& j0 p- _1 z- U
& y, Z- ?. D6 t2 v- ~! D* b! W if(this.getobjstyle(node,"display") == "none" ||
: `! a' r9 ~+ w1 s0 k$ Z this.getobjstyle(node,"visibility") =="hidden" ||
9 H x1 I h# H6 J! {* m1 n, S parseInt(this.getobjstyle(node,"font-size")) == 0)
4 J$ L G+ Y9 u0 ^ {
$ i B) R5 D$ D% | if(debug)
* M9 [- l; F- G) { {
8 I7 o) ?" L; h8 f8 \" m. d alert("remove invisiable!");
" L* T7 T6 x" z! t* U' f }
: s0 ]( f' [1 F; p- L/ v3 g1 K node.parentNode.removeChild(node);# y4 R% v1 ? w5 Y
7 c. O3 F: j4 y9 n9 a3 Z
}
4 U' \6 ]8 M6 A else
) x/ o& d, ~% X7 `* O. Q" V! g {) l2 v7 F8 I) S; Q# M1 I0 P1 T% P
if(node.parentNode) , {- R9 D6 C9 v
{
0 B k( O. Q5 b; n var orgNode=node;3 {2 z5 i3 W0 G1 [7 I4 X
var orgColor=this.getobjstyle(orgNode,"color")' f2 w j( g6 U1 D6 n% i- f1 Y, \
var orgRGB=getRGB(orgColor); ' ~0 m3 a9 ]! x3 O5 _- W
" U- b4 Z* b$ Z+ z var parentNode=node.parentNode( j) X; L8 [9 Y% W
var parentBgColor=this.getobjstyle(parentNode,"background-color");: W7 } {7 T8 Z' A6 p- x
6 n' N8 L, l B' y var isLast=false;
4 ?' Y( u" ~3 D o1 C+ e
?8 [9 V5 v h$ a while(parentBgColor == "transparent") 8 X9 o, l+ E a( e. v) ?; q4 I
{. ^7 @" n# {& G9 ?9 Y6 ?6 q/ B+ ]$ `
% O" c. m4 C" O( G7 W0 M7 h6 K
# E8 @" W0 Z! R- ~- j8 |/ a$ O
if(parentNode.parentNode == null)
% C- C! |# S, M: T# v$ E {
# l J2 T) M1 m7 O6 m) K isLast=true;- ~6 ]1 b2 f3 W* k! Z( X
break;+ m6 Z& }0 s4 Z* R$ t# q1 n A
}
) R% h! }: v. w+ x2 M$ ]5 [' X parentNode=parentNode.parentNode;
- A3 i2 Y6 l* u1 e& F. I parentBgColor=this.getobjstyle(parentNode,"background-color");
! _9 L2 P& A' f. i% p7 y1 }
4 n: E! z* k4 A7 D4 D if(parentBgColor != "transparent") 1 b. y' t3 [# p+ K
{/ ?, a% p$ @( X; b. k
break;; O! m) A* z4 J4 |$ l3 w2 S
}* u% L, I. f0 u. g b' w
}
0 I) S( L" D: Q. L* T if(isLast) ; W0 p6 f) W' u% f
{$ K. X$ v3 W* |9 G3 ]) t, X2 [" F
if(debug)
: y! |# d! K9 U' z' Y {( N- |2 o) B0 k9 j
alert("last!!");! f9 M2 C; D% c- J
}
% x+ I, C# b5 i! |! I if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' r1 e7 a1 s0 F1 i* c* n
{
. u/ p1 j7 q# ~' C% {4 ? X orgNode.parentNode.removeChild(orgNode); 2 P$ K n/ T5 S7 v
}
- `: G, F7 |" m( f }) n4 o, J) j O2 U. G1 W0 o/ G1 l
else
/ z# u1 y8 r; R& @ {; `* f. D2 `1 M$ G. d" V
if(debug)
5 |% q! T0 _! R: d6 i2 Q {
( O* h$ B( Y9 o" Q: }0 N' p* K alert("compare color and parent bgcolor!");
+ M0 Q$ G# l0 L& A1 ]8 O/ P7 T2 o }
4 P6 `' a) ~% c7 e1 ? parentBgRGB=getRGB(parentBgColor);
- {4 W2 c0 N$ D) J) U- E if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 n( {% E' r# \: G {
) o' D' F5 H' H% v- k, M! _ orgNode.parentNode.removeChild(orgNode); % [: N9 b+ h' `9 g! r0 M
}
F; `0 |$ A. W5 I }# X }
. W+ O% \3 [& |. x# Y) c }7 u, o; h0 G$ n2 f/ t
}
% @; ~3 t+ a `4 |' L }
2 g2 ?# L# Z: h* E" o( u }9 X" S% I$ |( f E
3 q7 v' L+ ^1 L; `2 T
. E: c6 v0 \6 B6 v2 d- r var itemFrames = page.getElementsByTagName("frame");
# j3 s7 e% x! l var itemiFrames = page.getElementsByTagName("iframe");
+ t @6 K" d/ |
' u4 H% {" V# U; p2 f6 \) f var frame, iframe;
" {$ G: ]; o6 V if (itemFrames.length > 0)
6 A6 {6 Z$ C! o. z8 @6 v {
, x# B+ Z) S- t6 _# X5 ] for (var i = 0 ; i< itemFrames.length ; i++) 7 p. l. c1 ^/ m& s; o
{, M! T7 T1 ]" N& p* D& e
frame = itemFrames.contentDocument;
$ I% r3 K0 Z& I" y% ^' p this.RemoveHide(frame,objname);
7 {9 U4 J- U* ]7 o6 Q }
2 _9 D& I/ O. b1 _ }
) N+ r. E5 e: q- J8 e, J: x if (itemiFrames.length > 0)& ^8 M+ y w4 X* B6 }2 ^. [
{9 _1 u( J) H* {+ @) ], a) }7 K& n
for (var i = 0 ; i < itemiFrames.length ; i++)
. [5 h4 R6 @1 n6 V0 ?. c5 C {
0 w# Z( S$ t$ Z9 L9 c5 z+ `" V iframe = itemiFrames.contentDocument;# {) c+ X( N; b' y* H- Z ]
this.RemoveHide(iframe,objname);
$ J1 @) P2 `/ X }( c& E, e6 h* A8 Z
}
% R* `% ?; D! v7 X: K+ \* Z4 D }7 U* I4 E8 L5 i3 p f4 k4 J
catch(e)
- \& s1 Z: R3 t ^4 r% ~8 L% |6 |5 Q {
5 C9 v; |- @: [( t G1 u if(debug)
& F8 l X$ \' u2 [% |& B {5 S3 } x! Y" V
alert(e.message);4 Z# y3 y+ l' h+ J
}, B) N$ D7 ^5 o8 A# \( j; J0 v' i
}+ g. }, Y8 \; k
}
: ^6 p; l" D* U5 o- ]9 t 9 N" Z0 u `8 D% p4 [1 n8 s9 X
}
& F* G7 G6 ]. o+ B! X: W/ A+ r
7 K3 v, R/ {3 X* m+ ufunction getRGB(colorString)! c: T6 {8 I7 q, H: s1 Z
{6 p/ q: I4 a7 s. Y+ K! L
var RGB = new Array;' C, O) n% a ` F8 V- m
var tempSting=colorString.substring(4,colorString.length-1);- i5 @+ p6 Z' ? Z7 I+ u. ~
var tempArray=tempSting.split(",");
& a2 L) ]% H$ }1 ^2 D4 F# c2 J5 p/ F
6 @5 \# |& [8 \3 V6 B RGB[0]=parseInt(tempArray[0]);$ j* x1 ]9 _9 s' H
RGB[1]=parseInt(tempArray[1]);- U" N: h9 F) N& T3 h
RGB[2]=parseInt(tempArray[2]);
; k; \) }- J& l1 S! w$ {1 x. v
) G+ q6 V8 {" {+ |! u. n return RGB;
; u$ @$ D3 P3 ?9 O3 F; T}
+ ]* b. U8 J- r2 F: B% D+ L8 m1 ^function keys(evt)
2 \0 \5 c' V0 H- E' h { . |6 y0 x! U) R; c, a
if(evt.ctrlKey && evt.keyCode=="81")
* T7 _/ i3 L9 U" O1 y) h {
4 @, P* v; F& F( r) s* ` CleanHideObj.on(0,1);
* P1 p- t0 p6 S, j/ L. n9 I v5 X& { alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 a0 H1 v4 Q& F- e2 `
$ i/ _, _$ R6 W5 _2 t% c. _ } 9 L% o: ?3 }2 }+ w* [
} ; f- `3 \( h. s- [( }2 S0 R( u
document.addEventListener('keydown', keys, false); * K; b* U( ]# Q, m7 t5 P
GM_registerMenuCommand ('Clean Hide',1 i) ~$ q. k6 z
function(e){$ F$ m( I. h' F
CleanHideObj.on(0,1)
/ E, o& c$ I7 ], Yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& \$ ^3 M! n6 X});9 v6 U5 w) C" }
|
评分
-
查看全部评分
|