|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& e" k- s2 [ {5 |8 y3 G3 y5 l$ W2 r, r7 I* O( C
火狐插件,用猴子2 s- Z' h2 t/ Q
- ~3 [9 ]# d7 I5 W9 `, A. c# a
var debug=false; 5 I' D L* B+ g# q9 e, j% p
var CleanHideObj=new CleanHideClass();
' W/ |5 L& c! n- ~/ b+ f V3 z
# {2 x# d9 }3 L! U! B* Q7 Xfunction CleanHideClass()
/ b: L1 m5 M/ g6 D9 R, ] c{ + z, Q) Q8 }0 J9 s; ^: o
8 R3 d. a9 @0 c, X, X) U) ]0 F this.on=function(id,bMZ)% L6 q4 F8 R$ L4 A
{' L; q: W0 c& u, B
0 Z Y1 H+ v5 b6 J7 [$ c `
if(id == 0)7 R/ N# J1 U0 T, m, D, O$ _
{9 ]( O$ x5 b+ k9 f8 T
var page=/* document.getElementById("content").contentDocument */document;
# ?: B( j3 {, A( G( |& t" w" a8 X5 M0 m this.RemoveHide(page,"span");1 B7 J& u9 c, F0 x# N5 y7 p. h" L7 X% J
this.RemoveHide(page,"font");# W, b7 W# x9 d. N% s
this.RemoveHide(page,"div");0 ]2 k3 H/ s3 ` y1 G* P6 Y
this.RemoveHide(page,"p");$ K' I0 c/ ^, k' n- X! H, f# D
6 W/ G _, n# I2 f% w }7 M$ X9 [% w4 n2 E
& N6 o! k; C* Z, n) h' Q! u* _) } } H7 o, e3 I, ]' H
this.getobjstyle=function(node,prop)
% F% ?7 s' K& I {
' f( x- D1 T, Z( ^) } try
' c- J! Y( k% r3 p: n {
2 | k$ I: q3 h) @- {3 ] return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ V! P% z- a R: W }2 o, d+ p0 O$ e- U+ V- j
catch(e)
7 n9 z) B! H C! Z {; i# }# C* x% {
if(debug)
) O: v/ [, C m {
+ w: A( \. h# h# E& G9 e% a$ ` alert(e.message);1 z7 @, G6 l( r) f
}0 p: M) k! x2 e4 M2 v
+ Q% x* z8 I* s+ \ return "200";1 s* U1 Q9 f. n! r$ ^) c2 r$ X- K8 I
}
5 U! c8 U0 [' S0 ?* ^% p' Z/ R* i }3 [# Z, o' A6 O6 _
1 P" B8 K! M. v5 F* x& V this.RemoveHide=function(page,objname)" T) c6 H3 Q6 o5 Z2 A
{
" M' ?! |3 p; K" m1 C) ` try
! Q0 A4 D8 S# ` {$ f6 F* I1 k% y/ t( y. o9 u
var minValue=15;* @' k9 \" ?% P& u3 N# ]
var objs=page.getElementsByTagName(objname); - G4 p) f! s9 R6 z, u/ ~
7 B$ S4 P. _( ^% t4 |: T& _% b if(objs.length == 0)
5 A5 g- `" n9 ?! {3 p6 y {/ X3 n& J* n9 @9 q
if(debug)
0 S# _7 d4 v3 u) j {
& B' V! H1 l% z0 c, A alert("no object found!:"+objname);. r6 |. q: N4 K0 I1 }2 \7 c2 Z
}, H( D9 B6 ]3 T M% k
}
& O- z& q' M& _ f' e2 H- ~! ] else: C* l8 b. O8 o& q$ W
{
& c; e/ N& F$ j4 z$ k( l
) |6 V% ]8 q6 h7 ~# z for(var i=objs.length-1;i>=0;i--)
) }# \, d1 k9 s$ e5 ^ {
, G: l5 b- T0 ^7 F& f) u" E var node=objs.item(i); ( p( e+ B; U/ d7 @% ]6 y+ o
d5 N7 ? C/ @5 r
, m- w; W4 ?# `9 ] if(this.getobjstyle(node,"display") == "none" || z% U w9 \5 N' B
this.getobjstyle(node,"visibility") =="hidden" ||( F9 |* d( Q ~! J
parseInt(this.getobjstyle(node,"font-size")) == 0) ' ]5 ~9 ]/ x& |- x& v
{; l6 v: p1 \4 g/ \! ^3 h
if(debug)
6 T6 ^+ ^6 u# P' G: N8 e' _ {
9 N! g, ^( k" {0 d* I/ a alert("remove invisiable!");8 e+ ?' v% A5 k/ V% g2 F
}' ~' S. y, {, m" N
node.parentNode.removeChild(node);
+ ?8 U5 ~; C7 v' d x/ n
3 e- v L0 P, f }0 q% Y. r$ d3 _. i
else & e0 s" @: d( n# {: t8 Y& Q
{5 E' C* G0 |( U' Z
if(node.parentNode) 4 ?2 a2 Q# S1 h8 \, n6 H
{$ l* [8 T7 S. u1 x1 {; u
var orgNode=node;
; i$ F+ g& M% H1 [+ m/ A2 h7 K, A S var orgColor=this.getobjstyle(orgNode,"color")) K& L r" b0 Z$ H
var orgRGB=getRGB(orgColor); * Z' I: ]0 C j0 ]
3 e3 I) a$ a$ f% \' R, a
var parentNode=node.parentNode/ `& Q& T$ C7 L* P j# `3 A
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ V0 `) n7 g9 p: T" m* i4 c' ?9 b ! z) \5 S. V @0 r6 H0 A* U6 V0 Y$ _
var isLast=false;/ F Y6 _3 j. P, U) o. l
5 R6 Q: H" A$ `; a1 `, Z7 o2 h while(parentBgColor == "transparent")
4 J% ?% @7 C! J+ K+ i+ j {
( F6 Q, Z# z' [8 z* c
/ ~' o; _8 _9 g% A- U4 m- z 1 x4 E' Z+ b% a; f. d
if(parentNode.parentNode == null)
* X* y% c6 |# h( N) u {8 J# ~4 u0 R# U( Z0 l
isLast=true;3 h* n+ S' C, v3 N% w$ l
break;
$ ^0 |9 Z+ ?3 ^0 o }/ i% m. d. p9 M
parentNode=parentNode.parentNode;: G: y$ N; y' F
parentBgColor=this.getobjstyle(parentNode,"background-color");
* z' L! e. T& q
4 X3 W" O$ X5 \: Q) L' A% w if(parentBgColor != "transparent") & m( l! m$ {) ] z
{
1 q- `+ \1 k6 M1 v9 z; I break;# u) c/ V6 n; b) z7 n, w5 C/ A
}* R0 u% f% O+ `5 ^) M0 s6 p
}4 h& k3 K2 i6 Y b, n
if(isLast)
2 e! V7 ^. M; d: j+ `4 d9 X {2 Z6 G! ~/ ~) m
if(debug)
N" L, x( l; \4 g8 J0 x) D {
* _8 B' U2 S" N" Z" v2 X: h alert("last!!");
; {# x `# j0 a }
: F# r, S; g2 o w% U0 n+ i& f' ` if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' p/ a! P6 D# s1 G, w- Y {& ^) d. V! y2 A0 ?
orgNode.parentNode.removeChild(orgNode); & V1 x( t. P+ `9 d
}
' l+ u( f7 L7 D' g+ N; z } Q1 R$ B7 ^* L( X. f3 ?4 ^6 R
else: D1 r* q& S) Q- C/ s ~
{
4 V4 X6 N; g) R6 F; m2 m& `/ X if(debug)9 ^- t/ G/ r+ R* w) \3 Q$ m# `
{7 L$ H! T% a7 c* S k
alert("compare color and parent bgcolor!");
5 \9 E t* D. R }! b/ K. _* N% T
parentBgRGB=getRGB(parentBgColor);
1 Y" |" s k% p% @# C4 w& ` s: l& f' e if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& [1 e9 w( l. k2 M4 ~+ ]& j {
! J' K% K8 e9 j3 N v4 Q orgNode.parentNode.removeChild(orgNode); 5 ?3 Y" g7 M4 y0 w% P
}
s l4 O0 [" M! U }
) z9 U- y5 a5 P5 r. l$ Y/ ?: i }. N" T4 G6 [, j' ]4 x
}0 k/ U- m2 p: Y# n
}
e) j' r+ ^. \: q6 U5 Y6 F }$ {2 O& B$ i; x8 c9 \
. g+ E2 L8 }9 k+ V3 J0 ]9 g" o
* N& N( m) h6 F) @
var itemFrames = page.getElementsByTagName("frame");8 O7 A7 I0 |7 D3 g8 d& {
var itemiFrames = page.getElementsByTagName("iframe");
1 G: J; C8 t& |0 H1 O+ w- o ( w" `8 \2 e, P" ^
var frame, iframe;
. @& y2 q0 Z2 l7 ^! {1 Q if (itemFrames.length > 0)4 s: c# i; e8 b- d
{
; I$ Q2 f6 \: y( v. |7 P* [, p for (var i = 0 ; i< itemFrames.length ; i++) 2 G2 ?1 v! t9 L4 O! q0 g
{
# S w: w6 X& G _8 _$ `# S# j( F frame = itemFrames.contentDocument;) i. g0 [2 A( |3 b
this.RemoveHide(frame,objname);
& s6 m! K! @3 W0 ~; G( s a4 e5 i9 H }
0 {4 i) @0 e, c! E% q }
% ]; h, U; l* k# z4 T if (itemiFrames.length > 0)( `% @) r0 M% G1 r7 S+ |
{
2 q$ o7 C% P- Y- W( B for (var i = 0 ; i < itemiFrames.length ; i++) * ^* t* g# L0 _: @3 g
{2 k; @2 x1 J0 R3 U" w# e0 d" e
iframe = itemiFrames.contentDocument;
/ u6 _+ g& o7 I$ B: S+ ^- |" g this.RemoveHide(iframe,objname); ^2 O9 P* G% R& R3 g$ \. f7 ]( `
}) D; e$ Q0 J- w
}
9 ~9 D) E; M- [+ ^ }
0 V1 } \0 c9 D/ F/ x( G6 l& H( H8 v; ? catch(e)8 D8 Z- ?3 @3 p8 w5 h9 f
{7 _. R h2 h. w* z, N
if(debug). z/ g/ A* N+ w2 q! W) c+ w
{
/ ^% \9 v- V, Z" B$ [ alert(e.message);
. ^0 Z: L1 |' ~# Q- Q4 N }1 _) v6 S; N. L
}
( ?% i; U6 G+ o }' v O5 F1 m3 R- N4 E! J; b
2 `5 @' h6 |4 h- |
}' g2 m& g0 @% N4 A* f
0 ?8 C$ E7 `/ o! J0 I; \( A7 yfunction getRGB(colorString)
# N6 r/ b! ~6 a' h( M9 A5 Z/ F{$ l. O! w+ B. s2 H% C& r5 h/ A9 T
var RGB = new Array;
4 |2 b$ ~2 p4 N. J1 V var tempSting=colorString.substring(4,colorString.length-1);9 a$ x5 w7 _ G+ y
var tempArray=tempSting.split(",");
/ F: v, B6 J6 g/ Y( |2 `7 Z! n/ m" r9 j4 I* J' D% ?- z
RGB[0]=parseInt(tempArray[0]);, r8 Q3 v. J& o/ ^+ H) B+ C
RGB[1]=parseInt(tempArray[1]);
2 p' K6 g4 I7 I: {% s RGB[2]=parseInt(tempArray[2]);
! ^) s8 Q: w3 Q/ V" J 4 \. b3 c- c0 G( w: k, T* ^
return RGB;
! u$ X8 m0 r9 y( ]8 U}" |. p$ v ^7 T- |9 u. V
function keys(evt) : S0 v/ h+ g0 z5 b$ J* o
{
5 |. J+ |: ?% Q# w if(evt.ctrlKey && evt.keyCode=="81") # N G. O0 [5 P3 ]3 F6 E( D
{ 0 c3 f4 Y+ }9 p
CleanHideObj.on(0,1);
1 n1 _5 Q* h! b; ?; ^! c alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % r& U5 G, [+ e* m: q0 |
$ ~( Y0 a9 n' h, k3 j( f( h& B2 p
}
3 E: h9 | Z/ ` } 2 ^0 F1 `0 I" A) A& j
document.addEventListener('keydown', keys, false); " t( v' W2 f# Y* M$ p
GM_registerMenuCommand ('Clean Hide',
) m6 |2 o; {7 [( S& n5 E. x2 D9 Hfunction(e){; G, w# T& C; `6 X' ?+ I
CleanHideObj.on(0,1)# Y5 e1 b& n9 p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 D3 Z: F- }7 H! Z T4 B' {& H& Q});
$ @! K4 | K7 {* ]/ U* P8 g1 W |
评分
-
查看全部评分
|