|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 + Z% D& m8 s9 B' X1 N! Q
$ C8 t# B1 ]6 Y. a) o: q火狐插件,用猴子5 j) I. ]; w( m/ s
6 w& S1 Z7 ~9 A6 q8 N1 F
var debug=false; 4 i s1 A$ F3 P# l1 U4 i
var CleanHideObj=new CleanHideClass();
& f/ R" ]/ v. ]# o. Q1 M# Q1 ~: ?# C9 b
function CleanHideClass() ' w$ _+ o# O% R
{
- C; j& v) s9 \! W; A7 m: R 5 N7 o' j8 I% t" Q8 [4 y$ T
this.on=function(id,bMZ)7 r; M$ W* }+ n: y! D
{$ V. Z0 t- k! U; N+ Z2 _2 o
' E' D. ?" g8 Y- e3 `0 B1 j, U if(id == 0)2 }9 g& c' X3 w7 z* l
{: F' }! f3 M+ r% g. S) @
var page=/* document.getElementById("content").contentDocument */document; 3 Y1 s& e7 c; j( l' O7 v
this.RemoveHide(page,"span");
/ N9 w- C) p/ z. F; ^ this.RemoveHide(page,"font");6 o2 F" @; o, J/ x% t
this.RemoveHide(page,"div");
, K0 d$ c' ~0 d, P6 |# B this.RemoveHide(page,"p");; ^4 b: | Z0 f& u4 v" ]6 Z
2 v+ N" z+ v9 A4 I f! Y }* E$ L9 B; r. \" @$ q, w) F. _
# Q/ s- W) \& J* l+ M$ Z
}9 P. v0 x, A9 n* t5 M
this.getobjstyle=function(node,prop)
3 w; Y3 H! J/ F3 i J: I {
/ ^9 R) y& a+ S$ w$ B try
0 D' | R3 }/ R+ y {
6 Z6 V: t* ^9 s return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 m4 E# K# J: `" \4 [
}! T; E G$ I% ^5 \1 n |* d
catch(e)
' X+ Y. _# o; }2 s, A { P! `3 E" i: h' U1 z+ i" K$ v: j B
if(debug)
+ L }! ~% o Q, u) A8 m {
$ A6 m8 T( p3 Y9 F/ } alert(e.message);: g7 i7 n+ n; r# F; K
}+ A# \$ P& f% h8 P$ L8 _, g& ]- d
% f Z6 O4 u6 Z
return "200";- T) d& V# A4 O2 ~2 h' ]% H8 M; j
}
8 y9 I+ U, s6 f, C# m }) V6 K; p' M0 ~# w* d
! T& U8 b- W4 h! v4 ~+ f5 r# P
this.RemoveHide=function(page,objname). V' x+ N% { b# ~
{
; v! z& |; Q7 J- A try
' W: u: e! z8 w* f% t" O! r {
5 O9 ~. p/ K; h x% F var minValue=15;% W% k1 t8 L: v @
var objs=page.getElementsByTagName(objname);
. v2 u3 m: ?; k* p3 u1 X/ N
% u+ E1 v1 V- f) ~ if(objs.length == 0)
5 h* \& l, p2 ~# Y; \ {3 i" R8 v" d& h/ |. E5 z7 m
if(debug)
. t5 I" W: |! X3 l/ v2 C- W) S {2 `% [* s3 C% [) c; Q, c
alert("no object found!:"+objname);1 B$ V# V6 ]7 F/ X% k: A7 L a
}
0 e) W8 j% ]; V ?5 j }
, L8 l/ k; W' U else
8 S3 x) d. Y+ I {
' Q5 X5 G7 _8 d& e1 |5 M" G
+ W! A: I6 H6 _2 S) G# v2 m" Z for(var i=objs.length-1;i>=0;i--) & c9 a/ [+ r$ s4 D1 |$ w$ n1 ~& K) @: L
{+ } w8 |9 Y; E* o; k
var node=objs.item(i);
! ?9 \+ Z! c. W+ N X; [
- }6 {8 c! z* x$ A& @, J! }! | - h( ^$ |: n3 \5 a
if(this.getobjstyle(node,"display") == "none" ||8 Z4 U A$ D/ y) b' g
this.getobjstyle(node,"visibility") =="hidden" ||
3 U: A$ f2 p. ]9 ^ parseInt(this.getobjstyle(node,"font-size")) == 0) - @! j' x( v: A' p0 y1 m
{4 C+ k0 ?5 q) {. T3 D
if(debug)
1 `% @# h: C# C/ B) C {
$ `8 b# {/ E! b+ q alert("remove invisiable!");
: c, s, o1 x1 o }9 a' c# O2 W- n d
node.parentNode.removeChild(node);* j2 d3 ?& {4 t8 w; T# Z
, s. g/ T9 _& w/ Z4 c8 x1 A k7 E
}
5 T7 U3 R; C" u+ i, @; } else 8 {( l2 A' \6 \( ]- _/ {
{8 f0 G$ x* F$ _( J
if(node.parentNode)
' C' R& x5 }: v! U {
9 B0 v6 t' x& A# K+ P/ ?/ c- |% c var orgNode=node;7 U! X4 u' h. J# w" x" L
var orgColor=this.getobjstyle(orgNode,"color")
* R( H. Z5 w: P8 Y var orgRGB=getRGB(orgColor);
) b. i8 j6 R6 Q# M t$ w; [' x, C( q7 {! n( h; |
var parentNode=node.parentNode
, E) ?/ _6 }9 v7 H- X4 y var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 c$ ~8 s8 n; D+ _9 x7 t ; m C& N) A; @, h7 }
var isLast=false;8 m- n$ j& @! G+ f
- {% B; J( y$ I& ~! h9 [
while(parentBgColor == "transparent") 4 P% ^$ n" ~* `2 x& U
{
# N. Q* {% p% v" z; Q3 V 8 _' w* l/ J+ z7 O: \- V% Z2 F
( B; j% _& ]7 T; Z if(parentNode.parentNode == null)% B+ u) {( ]. k' r* z
{4 B3 o# p' @& H7 z, @4 G6 ^
isLast=true;7 V& m: x& Q, h+ l: ^7 A
break;( ]0 I# ]; M x$ o: z
}
2 F# ?3 a; I: m( S! P6 y parentNode=parentNode.parentNode;- Z2 o& _( y+ h; [+ S. q( U
parentBgColor=this.getobjstyle(parentNode,"background-color");
& t3 h2 y! G' a C8 f% O2 v
! }1 u' L( l. M( p if(parentBgColor != "transparent") 8 h/ k! A, s$ Z7 d
{1 T( [% i |3 ~, @; S- q
break;& }) e1 B3 W+ d H( ^
}; D& Y7 u+ V8 B& ?
}
/ n4 ]& v2 j) L, | if(isLast)
' t. S( O$ M& k: [% O- D- R( E {
+ ?2 a5 E4 ?: ?- f if(debug)
& I7 v; O7 @' W* ^8 G& r- h {
$ Y0 g5 W/ ?9 S- k1 e alert("last!!");& O5 a$ R, V0 N& U$ ]3 [
}
0 f/ | C; o' B/ b' F# p( J8 \% b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): c K4 l: \0 a" H+ x, U
{/ P- T0 x s+ s5 w' H3 F
orgNode.parentNode.removeChild(orgNode);
' n/ z8 h# c1 `3 g* k1 Q }
- A, c. A7 c5 [3 D; c4 ^ O) w }
( r8 R; ^; \0 b, |1 n5 ~" f else
) z# K- w7 \* A2 s7 k9 M( [# b t {
$ c* ^7 [( }4 b: p. K2 e$ y# _6 P: I7 I if(debug)! w" A; w7 r: k b
{
5 q) m" l( Y* `' U" y alert("compare color and parent bgcolor!");- Z. R5 K2 u9 {: B
}
- [; X4 E) \8 D4 q8 m& P0 M' X parentBgRGB=getRGB(parentBgColor);) V' \, @: u6 t0 M) t2 a( Z5 t
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# U3 r8 z2 E; @. [
{3 i* V, w$ h6 A- j1 m
orgNode.parentNode.removeChild(orgNode);
* ~" A! u$ z# H+ t t D }
1 o% }; A+ [% l' s }# Q: m1 p# O& A) p' g
}
- Q8 ]0 n9 U2 A R }
! g7 I' L4 p+ r7 f& g) S y: ] }
7 D% ?9 J( ~. g3 C$ B" ` }
2 X5 q9 L( G. w& y6 F ( t' I2 ~, L7 l* V3 b3 E
( X# v8 l2 H4 U, |7 M: F var itemFrames = page.getElementsByTagName("frame");
7 `* w; s [9 T var itemiFrames = page.getElementsByTagName("iframe");" m( w0 \- Y O" M) f' y' F
' a$ @1 e/ m$ u2 y; k! e- v$ F var frame, iframe;+ V8 _. S# u9 K5 J2 |$ r Z6 u( h4 h
if (itemFrames.length > 0). g- _: h# B U! j' j
{" ` _( @$ ~$ }
for (var i = 0 ; i< itemFrames.length ; i++)
: S( L8 Z) p) n0 }, w( j {& }' z& p- R& c8 X% A- F' I" D3 v! p
frame = itemFrames.contentDocument;
* a. V0 y2 L% M" |- ?2 ^ this.RemoveHide(frame,objname);
2 Z; \8 l, n" i4 _6 w* ~, U8 S; u1 n5 b }
; }$ R8 ~. ?* W5 K) c, u" j } P9 x, L1 n2 o$ B' Y8 Y" e! t
if (itemiFrames.length > 0): n0 t' k1 o b, [, G4 h% t
{
3 W* j0 g8 H% Q5 {* s7 ? for (var i = 0 ; i < itemiFrames.length ; i++) # i' r0 s/ X# [1 G
{
/ Q5 _$ `; g% A, S. x iframe = itemiFrames.contentDocument;
; S9 y8 b5 u9 h* c& J* ]; e' u6 X' J this.RemoveHide(iframe,objname);
! R0 x, I+ s- z* {% u }. o' M/ _# S2 _1 M: n
}" L7 B8 ~/ G" j' E. c- d" o
}8 X! p5 C/ u+ g% P: l8 u
catch(e)
2 W1 b" A1 S9 z0 j$ m: e {; S4 R3 F8 Z' k2 j) q
if(debug)
# {7 ^0 f& U: u4 M' R, p {
( f6 A2 T$ \( ~8 C; w8 G# h, T alert(e.message);, n- n- U# ~' `
}
& d* }- Z& W; q2 E/ E9 M( _7 [2 v }
; S9 R. `: }; W7 c/ x }" w5 N( z, g. t" Y) i0 s4 a
; A+ Z, ^ t3 P5 n: m# Y1 [6 z: {
}
8 H+ h- G3 w3 e& {% D0 c* {
8 s8 H' z. C2 T, ~( g( w% s2 ^! Jfunction getRGB(colorString)' _1 s2 ^) K# V7 e' H7 b2 G
{
' q, b5 t* v0 k% w var RGB = new Array;# v' ]; C5 a. J8 ~/ s4 w& ^% c
var tempSting=colorString.substring(4,colorString.length-1);
4 m' J& v. l2 r# c* C& B var tempArray=tempSting.split(",");- y- B0 _3 J& R2 W& D% ?. C
' ^1 H( O3 M. I2 _4 B; n4 I RGB[0]=parseInt(tempArray[0]);
, A& N' f6 z" q& V4 } RGB[1]=parseInt(tempArray[1]);# V2 n2 m: _( D4 Q0 l
RGB[2]=parseInt(tempArray[2]);
+ E2 \' K: C5 y) j/ q# t: Q& g ( X9 B' _0 y$ |
return RGB;
( m) {! ]/ g7 M6 _7 K* w}
: r9 \9 ] {" D/ H8 ^) Qfunction keys(evt) ! f3 C) J& C) ]6 w' s, G( S3 H
{
( K1 n! S5 ^0 W if(evt.ctrlKey && evt.keyCode=="81") ) A9 O$ x! {! q# H! |/ ?$ [
{
1 s. N( t, ^' z- P CleanHideObj.on(0,1);
2 J6 h8 H0 A! g/ [# M" b' ?% _ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 w% o- m! ]+ F( e& s
' i' ^9 W. i" G) A3 r% l* \
} 7 R4 s5 T) c. a: j: p$ D
}
, T8 ?' x' T4 F3 h5 Jdocument.addEventListener('keydown', keys, false); / {9 p% L6 Z" Y
GM_registerMenuCommand ('Clean Hide'," N- `) s$ ?% M* a9 G# o4 e$ h
function(e){
: ~8 X: @. ^9 {2 B! Z& {CleanHideObj.on(0,1)
0 k8 E3 A7 \5 v4 Dalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 k! i- x' P3 S/ e1 T9 r});7 O, |5 D% e" I( r1 b; ~* ]; f
|
评分
-
查看全部评分
|