|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& I0 @' b& P, ~9 ^) O- j# }/ B, _( l$ H; T& ^4 J9 w9 A
火狐插件,用猴子' O/ g& r; g0 l8 Y: T+ g' N. n
; v0 L" U' l1 c+ Q/ v1 m" Hvar debug=false; $ ]; B- H9 v# N+ |# o& _
var CleanHideObj=new CleanHideClass();4 b. b/ X- D* X A4 A
6 t' X1 `# Q, f; j! y! o
function CleanHideClass()
" q, v9 K; D) v7 Q% o{
& }- O# r( Y. j) k 7 Y8 j& n( i% ]8 C% V
this.on=function(id,bMZ)0 Y/ k& w) N- l5 X+ B, x
{
/ X5 n& N# E' h4 w . Q) f. Y1 a6 d9 s) y! I
if(id == 0)
: \- ], I; q6 ] w {
0 q3 s% G$ B2 |( `" S var page=/* document.getElementById("content").contentDocument */document;
6 d" o6 n# _: M2 V; ]0 o this.RemoveHide(page,"span");
. Z; K7 G' ?) `4 ?' q; ^ this.RemoveHide(page,"font");1 ^ |4 v; [/ |: S# t' c4 e
this.RemoveHide(page,"div");
# G( `3 E; [3 A, Z# l this.RemoveHide(page,"p");
4 W2 ]* z0 _& p % ~1 `+ t6 U8 n. C3 E7 w) A; G
}8 q2 t; g0 \5 @7 `7 M& d+ D T, z
9 b5 O+ ^: u3 z0 j+ j
}
$ L, E, A( C& i s$ w this.getobjstyle=function(node,prop)
5 M% }6 G. p5 M' n {' l3 p+ ^- x4 m* z* e
try
& _# s( |+ A2 ?; R2 R5 } {
& M, U- z5 P) L" ]1 E$ D, ?) N4 w7 @ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. M- ^, ~! P) ?: X# V. J
}$ D8 f' H; L% B# |
catch(e)
' {7 D1 K1 Q; e3 Z! C, `" J# w {
' o/ A& d i2 x if(debug)
: }( ? M9 o( r$ C& c) w5 k* k, G {
4 t/ o. j2 f# N/ o) U alert(e.message);! w F) ?+ J" J; L5 J
}
$ i, Z9 c y4 ?5 [( r 1 x( ^/ F$ \9 U$ }: j1 t- b: M
return "200";' m1 W* U* B0 x# c3 i/ ^- C" b
}$ y4 |4 v& L6 H9 n+ K
}
5 ?1 A+ [# i7 B5 `. R% F# C2 X / f/ C. W, ]# B3 |
this.RemoveHide=function(page,objname)
7 s* ~( d: H/ C {
% Q" K6 I- c1 k; L try
' s. _1 y7 k) E3 a T) f {
* w& Y+ D, H! v, z2 S6 l3 O var minValue=15;* T$ s) P) H. \& ?
var objs=page.getElementsByTagName(objname);
' X4 _, g$ e5 T; v; Q; @# a1 D6 y# c
if(objs.length == 0) 7 c4 {0 y) b: [* a0 ?. y' j
{! {; E% |/ F+ j' c' ]) `
if(debug)' Q7 L1 M8 l' ?% O5 P8 L. t
{' _- Y3 |$ r& u7 l. k( s9 E1 h
alert("no object found!:"+objname);( G# a3 ]* v( p
}; ^1 R2 n* j$ W( O
}
8 x* o6 B8 W: _; ]7 u/ N6 P else. ~- ~4 A- D, k2 Q7 n% k
{
4 y! |6 {- p; f; c( ~ . `0 |: `5 \, ^; ~8 L( T P2 J& C
for(var i=objs.length-1;i>=0;i--) p- ^8 f3 C$ I6 k* t2 Y x
{3 T9 Y" {$ K& B; t
var node=objs.item(i); " H" `9 O3 U7 V( ], g
& t+ x7 [* Q! U
Y5 \3 Z$ ]9 p( k0 e. L! V if(this.getobjstyle(node,"display") == "none" ||+ ^. k8 O F/ q$ [% j
this.getobjstyle(node,"visibility") =="hidden" ||
' q, g2 o8 Q3 I( b parseInt(this.getobjstyle(node,"font-size")) == 0)
' k6 r; Z1 } I" ^ {
( p# n5 K ]$ }+ h. n' z* R X% p if(debug)
8 n4 t; _) @/ Q {
, h: a3 X6 m. N3 l+ z K alert("remove invisiable!");
8 n' D. ?+ Y9 @2 c9 X0 G4 D }4 O8 M) f+ I2 i3 H5 C6 o u, c
node.parentNode.removeChild(node);
/ {7 Q' k5 d& @2 ]6 d! U , _$ P, ~: w; g2 x
}. }! Y e' K0 w/ g
else + ?4 e7 \) A: s; b
{$ L* C7 T4 W0 c K T3 z. H8 H
if(node.parentNode) 9 p' I) j- f. Z: y
{
3 H2 q1 P% d$ a$ {. L var orgNode=node;' j" E" I' j/ R6 x. S
var orgColor=this.getobjstyle(orgNode,"color")
1 w; b2 D1 R# Y7 l! E9 | var orgRGB=getRGB(orgColor);
1 x* k6 c3 E# Y7 K/ }' x; w# u# x
0 a. s: [: X# q. {% w; J var parentNode=node.parentNode
7 d5 J) X. H0 [ var parentBgColor=this.getobjstyle(parentNode,"background-color");0 w/ S" G5 H9 x# q1 @# Y5 \
; r6 F+ Y- W2 E. z I. {; X
var isLast=false;* o0 z) i* ~, B5 l3 Q
& A c. r2 v) ]& }1 h
while(parentBgColor == "transparent")
, K/ s' F) @: g u! k {
/ _+ J1 R0 {: t# \; V# k+ q' R ! w; z* }& g5 C4 B4 m
# _ J1 q( K* E8 [0 H9 O
if(parentNode.parentNode == null), c3 L" f, _6 t8 \1 g/ M2 A3 b
{8 Y+ N, }. F7 f# B( I- d: [
isLast=true;3 Y7 K! p) s- y4 t4 P! E6 F
break;6 Y: ?# w" W4 {; d. [
}( Z9 W o v2 j' c8 k: j
parentNode=parentNode.parentNode;
$ @$ h# t c2 P0 Q& I: w' K6 _ parentBgColor=this.getobjstyle(parentNode,"background-color");* b. Y* _) H4 L7 T$ S
' `8 I6 ^0 I7 W& P if(parentBgColor != "transparent") `$ [9 U" [* b: c$ o
{& L& v3 y9 a: c _
break;
/ L+ O8 I- j3 O5 A9 @: l! s }
* \/ v1 e/ T( ]4 C* r3 W }1 q7 `3 V( \* t
if(isLast)
8 P- w4 c8 T4 q% j$ b+ D9 t% a" a7 c/ F# _ {
1 p% B! |& t- y- x4 v if(debug)+ ]0 b1 Z- e0 V1 D) z
{2 J& \" a2 j+ {' J
alert("last!!");+ x! v1 Z6 p3 E" C6 G% |) H0 k# G( Q. d
}$ m% V: w9 m. ?+ E
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), c# X) w3 y2 u, L9 u2 P
{
' f' ~4 i* ^" ?/ w: P- U orgNode.parentNode.removeChild(orgNode); ! s9 G1 `% p0 [ B, g
}
+ n4 L0 Y. C' w+ F }
5 e, `/ T( p* T) m+ h else
p4 J& s' J; x" E% y. P {
# p$ T$ L5 Q7 `, r if(debug)0 K3 [8 K8 m6 S& P& j. q0 R8 V
{
" r! a' c- O) c alert("compare color and parent bgcolor!");
* L: T- y. z+ q; k8 z2 Y }
# g5 v+ Z( R1 y* h parentBgRGB=getRGB(parentBgColor);
( Y4 T9 l; R) m7 E if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))& g& R* y W) e8 g7 O& n
{
c3 D+ }, J* S* Z& G orgNode.parentNode.removeChild(orgNode);
5 y8 z0 C! e# `, u% Z0 O" m }9 \2 W0 A* }2 S# F& D6 e. \" e
}
# L6 V7 q; s5 e; f% b }
3 {/ e4 ~5 `$ t8 ^ }4 a7 G! ?+ D+ R2 m5 H/ z8 }
}7 V p0 ?; _6 {
}* \5 b; U# G0 e9 \+ E
/ y; w5 U: i9 D0 m / z3 d' u- _4 S/ X0 m; X5 x: L7 u0 Z b
var itemFrames = page.getElementsByTagName("frame");
7 Q0 N+ p6 T+ ] s; w+ z2 ~' S var itemiFrames = page.getElementsByTagName("iframe");6 ~- ]' [" C8 ^- P) G4 e2 m9 ^
0 T1 O, z/ N- a% k2 y- p9 B var frame, iframe;
$ o) J! p3 N& P, a; q0 m if (itemFrames.length > 0)
( [' A! i/ [4 S3 J& N' x1 V {
! s, H: ?1 ?2 R/ _8 l for (var i = 0 ; i< itemFrames.length ; i++)
# O1 k8 F; u" N+ I8 A {1 M; e6 Z: n& P; S9 M) Z; A
frame = itemFrames.contentDocument;
, B9 H9 y/ w1 S6 h this.RemoveHide(frame,objname); ) W( F* K/ } e$ c! u! ]
}* ?0 \2 t% ?& E! c
}8 }0 @& w* R. V
if (itemiFrames.length > 0)) R% F. }# i5 B: B
{8 n3 l, e% t; a& t5 e2 T/ I
for (var i = 0 ; i < itemiFrames.length ; i++) 5 A: a$ g/ ?3 y8 z
{
+ l5 g# e- d) f& R* C iframe = itemiFrames.contentDocument;; b* Q P& Y, U2 U: U B- U" E
this.RemoveHide(iframe,objname); & N% n# C( L& W4 g/ O! [+ g7 w% e
}5 X$ h/ v( q \5 |+ J
}
# p$ z( b1 Y0 ]) I }1 \2 k5 E: o8 w9 E& R9 F0 O: r
catch(e)
+ j) x2 A7 ?1 |# z6 _ {% f2 h7 g, K( p+ W" w: `2 u
if(debug)! W5 ?, V( F3 {# A& r9 z
{
/ S, Y/ o6 \" r alert(e.message);% [" I% k8 `1 g, D
}
" _; W8 q! V: B8 Y8 h0 V }
" K- k A! I6 u! t' Y! Z+ j) s! ` }
3 k/ w7 D' i! c5 z( P 9 {- t$ Q- g) _1 ]/ f
}
% e) x* j( W- T( i
+ y( x& N" T6 j* ~function getRGB(colorString)
" \0 ~) N, U+ R5 ^1 s- h" \{7 v. W; A+ Y9 L3 w ]
var RGB = new Array;! F. S f% P7 {1 D7 k' A0 ]/ U. ?
var tempSting=colorString.substring(4,colorString.length-1);) p( q# x# d6 ~
var tempArray=tempSting.split(",");
$ m* X7 z/ t a K4 a& V# r8 ~' f. C. y
RGB[0]=parseInt(tempArray[0]);9 F# B; q. k1 ]0 c0 E8 X
RGB[1]=parseInt(tempArray[1]);2 A4 s7 C: {# K6 u0 a0 i, v1 l
RGB[2]=parseInt(tempArray[2]);
0 o# Y# y3 i: A( Z& }9 y3 J( o( ^ 9 C [# W* o; [8 J8 n6 X
return RGB;
7 Z4 T8 G( |3 b% b) T- V}
& H5 S5 o4 B2 m: o7 u/ [function keys(evt)
6 b5 R O# I( J* s& z9 H* }( ~ {
! k. A- ?& Q. T+ P. L( W2 A9 P1 V if(evt.ctrlKey && evt.keyCode=="81") % w$ W4 U' F% |$ L/ h$ N5 V
{
6 \! @- p+ r- S/ E7 R( X9 B v CleanHideObj.on(0,1);
: u& \/ X- r* s/ w; k/ u% r8 B% X alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 o+ }- E2 A0 F9 i% ?* a. z! @! H
; F0 u2 [3 u5 V# S4 D6 f5 S: `5 b
}
( X+ e5 c2 \( s$ ~) \: `. V1 g } ! }+ N1 A$ H- o
document.addEventListener('keydown', keys, false); " r. {/ K7 u1 m' D$ \" r0 t
GM_registerMenuCommand ('Clean Hide',: L0 T7 Z: v9 q/ n( M# w: f0 b, L
function(e){
3 }$ c1 `5 p4 p1 c) uCleanHideObj.on(0,1)
$ a m" w6 Q T2 n0 B( p3 Valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 a- T* c) Q* D# ?1 s! ]
});
7 b9 E+ o5 e8 s |
评分
-
查看全部评分
|