|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , T5 m$ E$ ? [2 G
( G- o Q+ `( B( Z+ s0 W火狐插件,用猴子
. m. m5 I/ p- \% `0 c
1 o: ~* W/ U( ]var debug=false; : }. I y6 j) h5 |1 L( u
var CleanHideObj=new CleanHideClass();
/ V3 D, ]3 s* ]! X" y* K
9 G0 `; y: D, K8 _: z$ I: gfunction CleanHideClass()
; [ f$ [9 k7 j" H4 g7 i- h2 G{
0 N( f% x$ ^. v, G1 {* F ) d( B' E1 u, ]1 }( O, V
this.on=function(id,bMZ). j7 h8 J) U5 C( k+ h* a- o, M' T
{
% r; b# c6 r7 H! x( @4 e( k 4 r q# Q/ Q( {) m2 Y
if(id == 0)- u, e9 a& ?8 l5 Z
{
# ]8 m* @. z5 E* q* ~1 c" S& i% ~ ~ var page=/* document.getElementById("content").contentDocument */document;
C% E' z4 W5 R. x0 }/ B; v. ~. G) R this.RemoveHide(page,"span");: n$ g" }" J4 @8 A( ]! \+ T
this.RemoveHide(page,"font");
+ F2 e% t# k( v4 `! r1 C this.RemoveHide(page,"div");
6 C) w: v9 E: w U4 ?% _ this.RemoveHide(page,"p");' Q3 ^ b8 h5 s4 d! S
1 S5 ~4 k( Q% g }
5 {& n# N7 T' a3 P1 f 6 _7 [. { g& E |
}
N5 L* N- K' h6 c+ ] this.getobjstyle=function(node,prop)$ c& E. ~; D& P9 s
{
+ A$ F* q x8 { B# \, e try
8 m+ W# U; g' C1 g5 h {
/ m1 v/ S4 s2 I | K6 ]! F return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 [+ `' L% H, N h5 |' o& u; l
}: I+ D- t2 Y4 o
catch(e)
6 T$ P! p/ O8 o3 j {4 U L9 V4 N% b9 N
if(debug): G* x' I* z: ?
{
4 |7 [9 v, w# y( H alert(e.message);
& c7 A- w& G6 i$ A& s- ^' W }
5 r0 |7 u* {& s/ r( V% F! o ] ' i( p% s$ {1 T( {3 k) C8 e! @6 |
return "200";6 G% n- x' J9 B
}6 q9 V0 L: K& T0 R* p# b; |/ y0 o& u
}
T7 T5 Q* K+ ^' B c3 X2 U
; ~" e- `) s$ ~5 Q0 i this.RemoveHide=function(page,objname)
$ {5 c5 Y- b6 ^! S3 ]" W) z& x {
& y% ^% Y* R( |# q( w3 v, y: K9 {- I% X try+ a4 f' J8 m) K/ H& m5 ^
{
+ ]3 A" Y! F6 a) ?$ J7 g. p var minValue=15;. i5 [' a2 m1 M5 o
var objs=page.getElementsByTagName(objname); ) e/ G# Q2 }7 `
+ I2 I; _( o) w1 Z7 S1 i$ T- Y if(objs.length == 0) ! ~0 _* X/ j6 o; \+ M
{1 o# F" A4 D" \
if(debug)
" p d/ R7 k& r+ N. L: Z2 | {6 r0 K& j8 H, a( O0 J
alert("no object found!:"+objname);
9 T+ }9 J8 O9 `( C }
" C# T, D% q' A* W }0 P8 ?' s7 u: j% Q% m
else
5 B% W9 A: J. Z( J {* T! b( }5 ~" l% ?5 S. D! Q& N& ?/ x
7 F2 p% \2 {, R+ P5 q6 y* b) [ for(var i=objs.length-1;i>=0;i--) 6 q; _$ G! M9 l$ y# k) W2 c
{
- x! d) }# [; U$ I6 {# Z& g var node=objs.item(i);
3 y5 d0 L- ~( j$ j9 S; f$ }! } / }/ {4 y6 Z7 R4 G" _. j
2 [3 I2 p h" V! R; [1 Z6 {/ W if(this.getobjstyle(node,"display") == "none" ||0 T' B7 p: w5 ]2 n& p
this.getobjstyle(node,"visibility") =="hidden" ||
& W7 h: e6 _0 `! ?6 p parseInt(this.getobjstyle(node,"font-size")) == 0) 7 Y' i- ?6 W) k( Z! C% L. m6 n
{
) i8 U. X R: l3 b; l) }0 X9 y if(debug)& z4 D; T, j0 ~- I! D' q& U
{! O* k `; @2 \. H$ w I( p
alert("remove invisiable!"); ^. t l) Y0 j& Q/ z
}
% C' f* m1 f. n7 _' ? node.parentNode.removeChild(node);
9 G( N; H- X4 f- d+ _7 Y9 R) r7 ^ ; c9 `& Z- O! W' [" w: l
}) X n# W6 r8 `. z9 s
else - o% ^$ @& b7 ^: f, v. i% D( p1 ~6 N, P
{
, x: A0 v, \ x if(node.parentNode) ( I" `& A) c- |
{, O, u- w% A- s9 X3 C K9 z
var orgNode=node;
2 \2 k2 [6 b. B0 Y! O) Q& M8 N var orgColor=this.getobjstyle(orgNode,"color")
. G- c; Q/ U" z var orgRGB=getRGB(orgColor); : W7 K& ~$ T. }5 O! u2 U" E
+ u9 R5 }* J% E* X# G7 ?* {
var parentNode=node.parentNode; B5 N% Z( F3 n- s% L
var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 P5 _1 Z4 n( z' {/ _ 1 Y5 E7 ^" `/ {" _5 \" x8 } A
var isLast=false;
' z* z8 r2 t% l, u& Z
$ ]" D8 }) A2 T$ B, P while(parentBgColor == "transparent")
. n D Y0 t! y5 W0 ~% k5 A( k {
" u- ^' a$ W( W, M% O. ` / M1 N* A" N2 t
0 ~5 \- V' S- t+ R. s4 p; W5 [ if(parentNode.parentNode == null)" g, D/ Y8 [) t; Z" i
{
]3 _6 `/ T: c isLast=true;
/ O9 P. \; k' f break;
: |# l! E; K% Z }% p% ^4 K! b$ x7 w, o# \, L
parentNode=parentNode.parentNode;0 A9 v$ a J8 X
parentBgColor=this.getobjstyle(parentNode,"background-color");
, H$ E% Z: t* L6 V7 C+ c: `- a4 l9 w- O1 s
if(parentBgColor != "transparent") % f+ r' E. c G
{( x8 J; j6 \* C1 J4 u. L
break;
6 Z) W9 Y" e/ M" T6 o }' O7 k& m4 a8 E0 X( }# ]
}1 g; m1 N. `' G- V8 B# p
if(isLast)
- e/ F8 i/ e! l {, w& ~* ]: w; ^$ m# Q
if(debug)
t+ r/ h/ Y# w o' ^( q' `+ Z {
3 t: T# O6 l% }# B( Z; X alert("last!!");6 @( r: w2 l+ G I3 ]
}* |% N* O ~! U4 k
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 G. N! _3 L+ k0 R6 J3 W8 Y3 u
{* Q8 e9 x5 L1 y+ j4 s9 T9 c
orgNode.parentNode.removeChild(orgNode); 3 h7 j& N1 f; M* m( ^1 L1 ~
}
) H' W& b( q8 O; `4 X3 s }
H0 [ L3 ^' ^) b, Z else4 E" t. v) a) l0 ]6 J$ m
{
4 l; t* K5 l; n8 q if(debug)
N9 R4 {, r0 n {' D- @& q$ ^6 |" f
alert("compare color and parent bgcolor!");" j' U+ Q! s# p# d. w% m
}
, c1 f6 V' a0 ~& z" O& W6 M$ k5 ` parentBgRGB=getRGB(parentBgColor);$ H% H! E; P- r
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% c$ D9 a: Q- K9 D7 i
{% [9 q) u4 z5 [1 E8 Q8 |0 I
orgNode.parentNode.removeChild(orgNode);
) O: F1 _. L2 q }9 |( p3 E4 {2 \) T) @' x
}- m8 X9 S e! g' @, ]
}
5 f! `3 h# H0 v7 q. u$ O( o }
1 `% S/ r% i, j Z) v }) o$ V" R0 Z& s3 j& u
}! l6 _# w$ o, l3 m7 h6 D* f! N8 d
! W1 d+ q' T" C" F' i - d8 i7 B2 O3 w7 {8 j
var itemFrames = page.getElementsByTagName("frame");
7 W# W( q$ V1 g9 V9 [+ t: `! y( e var itemiFrames = page.getElementsByTagName("iframe");. u5 Y; D0 P! Z. S+ Z. P6 e
9 {5 V p6 h& s6 F# h) z. s
var frame, iframe;+ z0 |$ ?3 d8 N8 x4 u( E7 g
if (itemFrames.length > 0)
- i- E! x5 x4 ?6 T {
$ K3 A) c( E/ z4 t' c( R for (var i = 0 ; i< itemFrames.length ; i++) - V& S; r& B7 {0 g: _
{" f& P* e) T, I/ h) C7 Z$ l- R
frame = itemFrames.contentDocument;0 r/ \! J4 c1 z$ y+ x+ e, s/ }
this.RemoveHide(frame,objname); 5 J# T' T$ W' i2 c; c2 _
}
, b o3 N) M& e, t- X }8 }' s% m" R" U9 {: o
if (itemiFrames.length > 0)
5 x& c) z/ D R- N+ }6 W {
6 `/ m3 o/ X) f for (var i = 0 ; i < itemiFrames.length ; i++) * F, V o" K" e/ i, u' g& Z8 b
{
: F) @" s3 D, x8 ~' }3 @$ H iframe = itemiFrames.contentDocument;
4 u l1 {/ j5 I& d$ d" R0 d8 y this.RemoveHide(iframe,objname); 8 D; `8 A, i3 ? B: ?; e
}
9 G/ O% v& d$ L" q7 b# W9 A }
9 K- u$ f2 `; ?! ?/ Z }1 N$ M6 R0 \" `( s9 O
catch(e)
- I8 p3 Y' T/ M" ~7 B {% {1 b3 b& ~/ L" Q! @
if(debug)
4 k. c4 E$ d$ S$ A1 c {
, b5 J- l1 T" l9 l" ~7 @ alert(e.message);
$ O: S8 i8 B8 }5 J }* t3 B+ Y* M- H3 h6 ^5 _2 n
}
) R2 `- l+ Z. n$ \' t }/ A2 {! h5 O3 _9 V) H% X: X
2 g$ P$ q: q k" j}& |- m& j6 L- ~; z6 A
( G0 E# d0 k v( G* `$ B' c. u- gfunction getRGB(colorString)7 K& _% h5 d# n$ _
{6 ]# ~# L& T" \; U
var RGB = new Array;
$ D) a, l v' @ var tempSting=colorString.substring(4,colorString.length-1);$ [$ H/ e' O2 V( R' x) c
var tempArray=tempSting.split(",");' I: [6 ]( e0 G) v% J/ l# s
' ]8 T9 O2 _$ ^& o5 G RGB[0]=parseInt(tempArray[0]);
- M% c8 o! ^- ~6 Q RGB[1]=parseInt(tempArray[1]);6 r8 ?, J8 q! s0 F3 N" P
RGB[2]=parseInt(tempArray[2]);
! R: T5 Z0 Y5 ~, V) J& U) s% P6 } ( l( ~4 x8 [2 i0 q
return RGB;+ J! a- [" \1 a Z: P1 L
}
! A8 ]' @/ {, U- n: S: L; bfunction keys(evt)
7 j! U4 C1 n) j { : f) K8 v: m% |( }9 y. m
if(evt.ctrlKey && evt.keyCode=="81") 4 ?0 T) l, T C! E9 ?) D
{
R. u0 |# F+ f$ C! ]" P# w CleanHideObj.on(0,1);
: t6 W- j$ B0 M: _% x4 u alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - U; C$ [4 r" F5 l
@+ l d9 ]( Z } ( C$ b& T1 Z( F/ o }. O' Y7 P- R
}
' ~5 j; M, v# ~2 H2 Udocument.addEventListener('keydown', keys, false); 9 t# Z+ J: l9 a$ E/ f# Q& C. M
GM_registerMenuCommand ('Clean Hide',
1 _% y; G; |* s8 ^* ifunction(e){
8 G0 Y, n2 [! Z2 z& [: _& gCleanHideObj.on(0,1)
; n! |* Y: M& q |alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) ?+ m( T3 Y+ H; L, w});) V8 h( J3 p( [4 f- J
|
评分
-
查看全部评分
|