|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 |) z( B9 X x8 ^/ y4 g5 q" n, x) P- {1 J& b9 }
火狐插件,用猴子# U) E$ d8 h% R+ {, [
. b7 H9 T# F5 m$ Z" p6 Q; g' D Dvar debug=false; - V/ A) E7 f3 @7 Z
var CleanHideObj=new CleanHideClass();
; ^- ^ A' o8 t0 ?# M/ |4 z0 E8 X; O/ `4 B" Q
function CleanHideClass() 7 X( ~" N7 ?3 m. o. j& F* P
{ + R' L0 R1 }: Y" b$ i
: n; T, v" l' y" w: Q this.on=function(id,bMZ). k* q- q+ W, E% C0 X% G
{, Z" z! ~# E5 z) F& x( p
) q0 B- f9 w8 g# L L) ~ if(id == 0)
; _0 X( l, y6 a M; X {5 Y- |1 i! @9 g/ \1 t
var page=/* document.getElementById("content").contentDocument */document;
0 \' ?+ {! n1 o) o$ m this.RemoveHide(page,"span");
# y5 p& |; k/ O" k2 ^( b1 G4 w% Q this.RemoveHide(page,"font");
2 n& _& H4 J! d+ D. e& N& u4 s: F this.RemoveHide(page,"div");
6 I) C& J9 x0 L9 f1 x this.RemoveHide(page,"p");
/ Q, r4 }6 t' {
. u+ ?+ ]( J s/ U1 q }! l8 l, d- g1 d6 K6 R
) i+ B$ ~3 t: q$ o3 I }9 M }* z: N" y/ i$ S4 q `* ~9 ~
this.getobjstyle=function(node,prop)
2 V9 G6 V) b$ ~0 V' r$ p0 I {
" n O7 ~3 _) D try
( v% z* U5 A; X% r7 G6 t \ {; Z$ y. A4 N2 v4 m# ]
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);( [1 T J* C6 O2 S1 Z C
}$ k+ }. x# R- r8 Q7 ~
catch(e)8 @; c7 {: H, _, S
{) ^, L. ^5 d' k% E$ N& d; [
if(debug)
' Y0 ^* E6 g7 o5 ?# z$ t- t9 @ {3 E H$ @' N, I2 Y" x, Z
alert(e.message);0 { ]0 B. {8 G' F) b, k! X9 f
}
8 d# o" w/ E. V
6 G; r4 P: \3 V7 G return "200";% o6 S: i0 L6 ^6 w
}
/ T1 ?6 D' G+ d" o2 G& Z3 H& n. d }: f$ s8 ~& c6 k \
% O( u1 W; J# k5 o& P
this.RemoveHide=function(page,objname)8 \, ` @6 T7 ` y; Y- z& F; C! O
{) O: l9 i" G7 o' p- e4 r; R/ q
try8 v$ @: r! d9 _: m. \ j- ? q
{6 g' A7 a/ a/ A, v0 i W
var minValue=15;
, e$ i' |4 M8 q* p( H9 p6 I- T var objs=page.getElementsByTagName(objname); 7 `& F7 O( u4 `* V+ d5 s! b$ p
0 s- y: I- n9 p+ W3 c: N
if(objs.length == 0) 4 m9 i0 f) [1 k6 B
{
F) n( q& L' h- }, P1 M* V if(debug)
0 U+ ^3 e. w- X9 [& u {; J% d1 G7 F: S; H
alert("no object found!:"+objname);+ Z! V7 y! j* I
}) A" r& }8 v. |' d+ a
}8 G+ v" ?- P( T
else& ]3 j, u# ]' N' T/ ~
{
# D- ]( }/ X0 X. c2 k! k + L/ g3 i P/ q: t/ l
for(var i=objs.length-1;i>=0;i--) ( b* c' G' H7 K& X B
{
+ `) x5 k4 i$ C6 g4 o var node=objs.item(i); 6 _; X' \2 x' D
9 M8 i. a( v! ^, j7 u' ?+ ?& ]
5 @# @! [2 S; T' X- h6 d if(this.getobjstyle(node,"display") == "none" ||
5 \5 U4 E/ Y- O2 [ this.getobjstyle(node,"visibility") =="hidden" ||
* S; l- _- Q4 J5 W parseInt(this.getobjstyle(node,"font-size")) == 0)
* v" ~1 Y: Z8 H {
4 ^4 ^' j+ l% {! j+ o! Z9 Q5 o; \ if(debug): c4 I; `6 A5 e9 U9 n* x+ J) \
{; Y1 {% m8 J( J$ P7 ?" v
alert("remove invisiable!");
5 k6 R. g5 K& u; n) w }
& w! L' C' ?+ o; P- {% v" a8 _7 V node.parentNode.removeChild(node);2 D7 B/ O$ e5 ]- U& [( L5 e
. F1 w n1 N+ G* f4 `
}5 {5 E* A* j7 l% Y5 n$ m9 Q5 v8 B
else
' d: R# Y& `# G4 G8 F' `: a {$ f4 E# H/ {' A
if(node.parentNode) Z* k" _0 M& h
{
9 A( H" D; b( D) s! i var orgNode=node;2 [1 i7 J' V+ D4 K: z) b
var orgColor=this.getobjstyle(orgNode,"color")4 j! Q+ o% |) D, j6 k
var orgRGB=getRGB(orgColor);
( f1 i% k: f3 J6 M& G 9 S1 W* K& V5 G. v' f% z! J+ l
var parentNode=node.parentNode
3 Q" R$ {+ ~8 N9 \ _( d var parentBgColor=this.getobjstyle(parentNode,"background-color"); l( q' g8 t/ V( [
$ j2 z/ q6 q( P2 A% e
var isLast=false;/ t+ d+ E! ^# A' v/ V9 x% Z: m
! P* y: g, N( j( L, Q while(parentBgColor == "transparent") 0 f' C9 U3 K2 Z; H+ _
{
: H- M* i# K8 R5 _8 V! X) e
7 o2 T& U5 X* Q- K" ]$ Z 2 {( _6 ]/ h2 i$ Q
if(parentNode.parentNode == null)
1 |- s8 z3 S7 `1 G {
" ~% p6 u9 l. ^! k isLast=true;
+ t+ g2 I% P Z( }" N. D break;& \5 o {; t+ S `+ h6 @
}
2 d* s+ C( i) C F3 {9 ` parentNode=parentNode.parentNode;$ A$ e4 C* a6 ^1 \/ q$ l$ _
parentBgColor=this.getobjstyle(parentNode,"background-color");: s2 J9 ^& J, S5 l- P
& ~7 P/ f: t$ y+ C! u" c if(parentBgColor != "transparent") 4 F4 v+ X4 g+ r# q- \7 |% V& v1 Y
{
) q& @! B3 ^0 N: J C1 m! V4 { break; j) Q+ q' e/ j0 T' i+ x
}$ X5 _ v0 s3 A" t; c
}* s9 o9 q2 n/ I' u9 D. r: z7 P
if(isLast) + P. w3 w1 ]* U
{
4 m f; p/ f# j8 H# ]7 Y$ c* P if(debug)
`/ `# m5 ?. Z/ E/ G" v$ a+ e; W {' m8 w3 a1 M: l8 k
alert("last!!");) q. u# u' T$ }
}, O) {1 ^) v4 g2 K8 H0 t
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). J7 w3 b- O+ K8 d; o4 x4 T6 g$ ]( t
{
0 t' `* u- E9 N orgNode.parentNode.removeChild(orgNode);
6 D) d# Y6 O) [ }& |+ w: S: k6 q" d8 h: k0 M+ o
}
3 v1 a. }: u+ a: v, B7 e else
, e8 I5 h: }6 ]9 i% e5 X$ L X {
0 B2 @5 w. i0 c, b if(debug)5 m; Q6 w" h3 k: \' I
{
5 s% ?3 ^8 M- w0 y3 @1 G1 P alert("compare color and parent bgcolor!"); M& K7 ^; f8 E4 J# a$ m* Y
}* W8 K1 d" r& Q
parentBgRGB=getRGB(parentBgColor);
; j! o* w; f) u2 P9 a, M: C if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 _5 ^/ e3 h) W: z- m2 T {' B1 D/ K7 d7 D6 E/ ^3 k( C U/ A. N
orgNode.parentNode.removeChild(orgNode); , \( S9 ?1 T v% ~" u B. J
}
. U# c/ W9 ] t7 p }
0 y" l+ _ |9 S" }1 \ }
" z& k1 f# P. O1 y }
/ ^; A( e0 U; G1 E/ } }
9 _2 B% L7 i1 M$ U; K4 q }) S# ^4 Y' J, p% t d
6 Q% W* z! y* T1 F! }
+ X7 C/ w* p' `% P9 k/ h3 X var itemFrames = page.getElementsByTagName("frame");
, }% \9 K9 y' D9 `, g" N var itemiFrames = page.getElementsByTagName("iframe");. `) @. j ^( d5 D$ g' V% L% @
0 `! j8 {. ]" n% I' e. c var frame, iframe;
* r% L! @: D; z8 p+ R$ k if (itemFrames.length > 0)
0 Y! K9 C. |- {) L, f {
2 |" J4 l6 S6 E3 x for (var i = 0 ; i< itemFrames.length ; i++) 4 N$ U5 p5 C* k
{
6 \# j1 w3 d1 k frame = itemFrames.contentDocument;
1 A: ^* A Q) J2 |( b r1 j this.RemoveHide(frame,objname);
4 A* Y# c( [9 j0 ~% {; l }& h( m# Z9 b6 J
}# J9 t, r, }" f' B9 N
if (itemiFrames.length > 0)
3 E$ \+ O$ o9 v7 U9 l; p7 B {
- v; e9 P. h& v4 D" |" M for (var i = 0 ; i < itemiFrames.length ; i++) k9 X9 x3 r/ G* w9 s" n
{8 z" W: j# T6 r C# U1 [
iframe = itemiFrames.contentDocument;' s1 H, f+ G) e, W/ B
this.RemoveHide(iframe,objname);
5 V+ X" {* g W$ C" ~9 G }3 I1 B+ g( {# W" Y! M
}8 E+ r: _" b z/ p
}
2 v" |7 z8 j* l! Y, r; B% U/ U( D catch(e)3 F# a# l* Z! t& n! D2 a2 s7 {# n
{. g- ` a6 a1 ]0 {
if(debug)
& d5 K* i/ j3 I+ l$ @& d3 l {
" Z2 n) r+ O0 I) L" ` alert(e.message);7 v2 a1 D* v3 F, j9 S. I$ z
}' o0 o- K, _9 k9 ]( v; w6 J0 |1 Z O
}& X& H, T. a- E: x
}
c9 U- o4 W: Y9 _
6 \6 B- Z; S6 i# r: U, Y( A) l4 E}
6 [7 ]- ^; `" R( _! x9 C1 ~$ R5 a% K
2 w. k- r9 Q4 h* A/ R! Nfunction getRGB(colorString)2 S" G' l& O& \* i' c/ a( ^1 h- S
{2 u* R# ~' u7 D" W
var RGB = new Array;
; h* P% m# G+ f( u: o var tempSting=colorString.substring(4,colorString.length-1);$ w8 {7 f0 w* ~( c+ Q
var tempArray=tempSting.split(",");
. C. l# |* s# M- B1 Y+ Q6 Z' n- l- ^) [7 J5 l S8 P# m
RGB[0]=parseInt(tempArray[0]);
5 W& ]8 }* u6 C& v RGB[1]=parseInt(tempArray[1]);8 R' ^6 L1 M7 N2 F! U
RGB[2]=parseInt(tempArray[2]);' M4 L- r3 m) y0 n
+ `2 @0 K2 e! b0 O; ?2 _9 k1 V
return RGB;& @8 n7 K9 k% n8 B4 T+ W
}
4 r2 _3 y8 r6 h2 o) Gfunction keys(evt) , D! F! W& G s) |4 c: z1 G
{ ( L* t! s- [, ^. d. \% |, J' ]
if(evt.ctrlKey && evt.keyCode=="81") 8 G$ `( D4 F8 W4 h; R1 ^1 Z, R1 X+ k
{
* v4 C& ^! [' ?: W- B CleanHideObj.on(0,1);; s3 I, M5 T0 v/ n( p. I* b
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - d& }- e: z) i1 ^6 a5 p% M
& ^8 \$ F1 A) X$ y3 o6 w9 b
}
2 i; C0 `* [/ Y; t8 `6 m. ~ } 4 o y# g) @8 K# H6 P p. a
document.addEventListener('keydown', keys, false); 8 l4 R' i7 @4 g( c0 J; n
GM_registerMenuCommand ('Clean Hide',6 }( b3 f7 o5 z+ S; A1 m( c
function(e){! F/ l! \4 `/ @
CleanHideObj.on(0,1)
* j# B/ A+ i3 q" R; s" S. malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% I9 a# A4 n0 K2 b. U" D5 ~$ Z% Y# j});% t' w+ D+ R9 U- ]
|
评分
-
查看全部评分
|