|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ ]0 g7 ?. @- I
! f; y; q2 @; i9 I7 C# H8 _7 i火狐插件,用猴子
1 n1 c2 o9 [0 A% E8 G( x- ?! A, {5 u s7 w7 T6 Z
var debug=false;
3 v+ G2 U' m2 ovar CleanHideObj=new CleanHideClass();
1 o8 c8 L- d+ s. Z- W( f2 m9 i6 m+ E7 G* R0 V) _" z# M' q- E w
function CleanHideClass() ' R# k. R- @+ A! X, B
{ 8 G" @* c0 a, n$ ^
2 e; ]7 b# A% f3 f6 i: L: p; s$ L0 m this.on=function(id,bMZ)
- B/ e0 \* E2 M. s) V {" y! ~5 G' N* H) M3 q1 b; n
4 e! K6 C* [0 N( X if(id == 0)- W- u2 v6 o3 h, p0 `% G1 H
{6 \, e, L# V- B" x* N4 z
var page=/* document.getElementById("content").contentDocument */document;
5 Y q7 ~% J+ e4 Z* b this.RemoveHide(page,"span");
5 o7 F9 o- J2 s, n+ w0 _ this.RemoveHide(page,"font");
2 w( H8 B5 v9 A3 F this.RemoveHide(page,"div");
& j2 H" c" L) M this.RemoveHide(page,"p");
% x! }7 o. \+ Y5 S; F" m ( Z7 v* m% f: u$ a; @
}
4 S) J# l) B" q+ T5 d : ?6 j7 l8 S# I) ^8 _& f2 j
} _/ N" R! W1 f4 ^
this.getobjstyle=function(node,prop)' e, D' v: Z o4 U: U
{2 J' R- [/ Q# I
try
* C0 C, q: P' B- h {
8 J, e0 U& }: H return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: v7 y; ^" M4 G( `7 F }0 }5 u2 W2 o% o+ k1 ~9 l
catch(e)" g" B4 J* F3 G9 C7 ~% G/ R1 C
{
: A# D( N* t) L8 @ if(debug)
4 m! [4 D' `; ?8 p$ M; C' \; H" _ {
, Y0 {0 y& h* `- Z alert(e.message);
) a; B! L9 h* i g0 u( e& _* J( c }
$ @/ @. D7 d/ W3 M ) U; Y' P$ ?/ B$ |7 I
return "200";+ D+ P# M- a3 ?& E2 t* P
}
2 v0 m' e7 N3 A2 G, D }
+ o C2 M, J1 I" C- m8 Y' h# e) l
: a- d6 V5 X( T3 e2 W6 j5 U this.RemoveHide=function(page,objname)% E' N+ {6 c# t& l9 T
{
) i" j! Z! n; W: m! b, Z try
; z, ?: V/ r) s {
# H3 Z' |) O3 W( C4 t var minValue=15;
8 i7 S6 A% Z5 u% M4 o: O( I, A var objs=page.getElementsByTagName(objname); * M# a8 y# H* a2 w
( y" g7 g4 z) w; ~; D2 A if(objs.length == 0)
4 k* R7 }8 G% _5 h `$ G1 i {7 [5 p3 G5 I, U& i
if(debug)) x4 H+ V; s2 q" r
{
0 ?0 U' J7 w! K g alert("no object found!:"+objname);0 `* U9 K4 Z$ Q; M
}% R! W" i6 q( |
}) a* a4 K! Z/ b5 v1 {% S6 {4 P
else) [7 S( v4 Z% M- b+ h$ \( J4 L
{
+ _0 t# t/ @! B/ x
* S) f" B. }- ~, W2 Q for(var i=objs.length-1;i>=0;i--)
- q4 D) f! A/ d: w {
3 ^9 ^1 y- }2 ~9 u* e8 J" |3 P+ y var node=objs.item(i); ' M# H- E3 e: E. D: f# F" z
( @# L9 E9 c' N
+ j& Y9 E. d& I0 ?8 g5 P3 O if(this.getobjstyle(node,"display") == "none" ||& ]5 M: L/ O F- E+ r7 z
this.getobjstyle(node,"visibility") =="hidden" ||
4 c" @# x9 u9 Q+ A7 B% C parseInt(this.getobjstyle(node,"font-size")) == 0) + B; U* I2 w4 g
{
0 ^7 v; H3 l9 M9 ]6 X \6 B" R. I if(debug)
2 [8 p: Y7 l* H1 }' \9 ]+ I {
) E, U ]7 T' i# J |" [. ~/ _ alert("remove invisiable!");
8 I& f6 K9 f/ y/ i, Q( f3 u }
5 Z6 q8 M. z. \) D+ A1 u node.parentNode.removeChild(node);9 ~2 q4 i2 r/ e' o3 l" B
9 f& L1 I- N' {
}7 ~5 T# L" v [( `. c
else 2 I8 {3 g7 V% N+ ?8 n
{! x; X) o( x; G2 O. R# M
if(node.parentNode) - d7 L, l( f1 v
{
P( E* b& K y/ O, ]& l: I var orgNode=node;7 s3 T1 L" @9 J6 S3 G
var orgColor=this.getobjstyle(orgNode,"color")1 E* T+ Q v3 J" o: g) v3 M0 V; g
var orgRGB=getRGB(orgColor); / {9 `% ^' W4 G. x7 r N
+ i) F! Z# V2 \/ u" @, T' f( w var parentNode=node.parentNode
6 L7 x, K% O4 x6 c var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 W; y6 h, W, U8 A1 f0 e " |! `. X" D6 H4 ?" }: o
var isLast=false;" l; c4 ^" v, U( Y
; k4 b! ^2 t; ?" m
while(parentBgColor == "transparent")
* G& Z1 s5 W7 H% m* v! G {
' e8 y! c% o7 O+ _
7 `" J4 I- y4 n; `, N! V 3 u R$ K. j+ u. K9 @
if(parentNode.parentNode == null). m3 P4 _7 ~. g( c, d0 f5 {
{5 i2 w- I4 f; ~+ \/ x# b# i" K
isLast=true;9 J! j* L+ C' p) K6 y% D
break;
3 M, v- R, {, P* ~/ Y+ ~2 G6 k9 T }
( Y! s$ \- L: V. F- n0 y parentNode=parentNode.parentNode;
* h% |, k8 i* b; w0 a- s parentBgColor=this.getobjstyle(parentNode,"background-color");
3 ]- w' n; g& ~9 W. j+ V
7 s0 k D) l) Z y9 \, ? if(parentBgColor != "transparent")
6 `7 u! {2 z9 l& E! a& J( Q {
. ^% M g( H' S) C break;6 c0 l4 A Z& O8 c2 n G% `
}3 l" I8 ?3 |& ~: j
}2 n( h5 f* u$ ~+ x
if(isLast)
" ~4 [6 m6 e7 ^* a: I) Q {* I( e. C" a! D! L
if(debug)$ X# }8 a9 R4 c5 t o+ n
{8 D7 ^+ Y4 p" x/ Q0 v/ o2 {" d. W4 ]
alert("last!!");- r3 ^, D! w4 o% H% l) E- Q5 y
}
; b& g+ f( G% P( M if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ S' e' Q, U+ i1 [) o8 X" Q, _
{+ ^+ ^ t; z& H4 v0 o% b: f
orgNode.parentNode.removeChild(orgNode);
6 h, o5 j' R9 K1 J6 ^ }
: A1 w: J" x- T, R2 W5 [: g }. k; E1 }% c. @% J1 v8 d; a- j
else3 n: J) \& n" I2 T) v# B* ^# D
{
4 d5 B5 [3 W/ c; x, x$ C if(debug)
8 g" H0 f7 o, I3 p! Q9 ?0 y. [ {
) ?# N( v9 e9 ^3 v alert("compare color and parent bgcolor!");
) o L0 K4 d2 _* X }- H+ k$ M9 I ~ t+ ~
parentBgRGB=getRGB(parentBgColor);
6 A/ }4 F' w0 C( V/ t if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 Z/ {. ]/ z( u' C! i; G, e {/ d, y% D8 n: R9 Q
orgNode.parentNode.removeChild(orgNode);
* G0 n: V: _) X* K! U9 ?1 x8 l }" W- [3 [4 Y( I s
}$ a) j6 M: _' N) K
}; v% h0 V, N3 L
}
9 W; c- Z3 U- \8 d6 h5 {( } }
; ]2 C1 @2 r( V: T8 `9 Z( b }
6 N- `. `- J6 b* D ) O* t. _5 A6 F
/ P. j8 e) ^" z5 Q$ I o var itemFrames = page.getElementsByTagName("frame");" L+ n2 }- _9 \7 \& @5 W" C# Z
var itemiFrames = page.getElementsByTagName("iframe");
/ U8 l2 J7 I0 ~ X
: K& K4 |! u$ q9 g* X# M: P* ~; _ var frame, iframe;. |0 S# ]- l9 k, |2 J
if (itemFrames.length > 0)8 |, f' d% q, m( l! t; g
{
" j4 G6 |: g3 Z for (var i = 0 ; i< itemFrames.length ; i++) 9 ]4 @. Z5 U' O* h9 L5 J
{7 q" `) G. F& M3 z
frame = itemFrames.contentDocument;4 \4 l# M e* D( c
this.RemoveHide(frame,objname);
. O6 \4 N4 m8 ]% Z6 X$ {& X* v! ~ }+ I# o% ^8 _; j3 q
}5 y5 s" U" K/ @- D
if (itemiFrames.length > 0)! t/ U" d2 ] _1 Q* Z6 n
{
+ T0 }& W! K& \: l# A for (var i = 0 ; i < itemiFrames.length ; i++) 7 m! E4 y0 a) S7 B' G; ~& N1 ]7 @" o
{
* t$ I+ o( C/ Q; X' c4 t iframe = itemiFrames.contentDocument;5 u& t% m1 Y( Y% C
this.RemoveHide(iframe,objname); ; b2 s6 Y) h8 V6 Z) E3 F
}' L6 I9 u+ z5 S, p. }* U" C. A) P) X
}
( v6 K. w9 a8 a }
, m4 {' n8 \0 D+ r. R8 G3 ~, I catch(e)
- {5 {5 @" x1 D# a" _# _ {
, ?5 z9 \& F9 V, M if(debug)
* l: ]/ s' |- |5 D0 ]/ d8 B {* T# ]$ W3 L1 H
alert(e.message);' G/ M: Z: K' a0 T7 r) x
}# J" E1 C- p8 E9 k
}2 A3 V# p" L/ d) ?6 B; V2 u$ r) J+ e% G9 i
}
7 ^7 h" {& h0 _' {
* ~- g- t! O- U; u% a2 b}
3 | Q h+ d' v% a1 B, |9 }( O/ d, v. Z u9 d7 i3 b
function getRGB(colorString)
$ \" ]# E4 C9 Z5 \, s+ A9 g0 f{# o( ] E- U5 b4 j1 ~9 O
var RGB = new Array;
8 S% A/ ~0 z# p4 t0 N var tempSting=colorString.substring(4,colorString.length-1);
) y# w( Z( t# [# d1 I var tempArray=tempSting.split(",");
( S8 C2 k: E6 g. N; q& y* s5 F
5 s5 E6 Q: \/ ]; z, O; b- I: |( Z RGB[0]=parseInt(tempArray[0]);
% G- H! ]8 }9 e) Q RGB[1]=parseInt(tempArray[1]);
+ Z, Y0 u+ v9 M* o RGB[2]=parseInt(tempArray[2]);6 b" Q- F' }$ ^
3 I& h6 Y0 K0 M9 D3 K& ~
return RGB;+ o+ |2 Y9 g. D! \$ B- ^
}
0 E5 n8 _$ m8 L( C4 Lfunction keys(evt)
4 T$ r6 ~- }3 y7 u& b4 J$ C2 E { 7 I5 ^1 u8 {. H% b8 l
if(evt.ctrlKey && evt.keyCode=="81") 5 U0 R' I. C% Z0 {/ E7 L. u1 l" l
{ . L. ^9 O5 c5 r
CleanHideObj.on(0,1);( g1 z) a# _" P& x1 [8 J" z2 T: Z9 E9 I
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * V1 u, Y% W* E) c
: s; _8 }* a! P. v6 |, t } 0 c; c, G. i3 {
}
4 k E2 y- |2 M- y7 G* b' sdocument.addEventListener('keydown', keys, false); ( R2 e9 @' J/ l \ e% Y
GM_registerMenuCommand ('Clean Hide',
5 w) t/ v( d" u1 @/ _" Rfunction(e){
3 Y6 a' q! j& M0 v% DCleanHideObj.on(0,1)( o( B p' t- U! V5 `! Q% H; W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' A# h. O; F7 Y7 D. S});
# ]. ~1 w8 L! N: a5 [ |
评分
-
查看全部评分
|