|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
J1 a. S5 u, b8 G+ P. |4 n7 w9 C9 Q$ y" z. L0 P3 R- u& S. q/ P
火狐插件,用猴子
2 J) Z3 {* H8 D8 V& W9 w; E7 b+ F1 } {- h- U! `9 g! k
var debug=false; % T% n, P8 U% K, y3 j$ B
var CleanHideObj=new CleanHideClass();
" [+ q+ L" R" @+ M7 F# f& P: g- T1 Q4 G) x, T5 r8 U
function CleanHideClass() - N$ P" E9 D2 X ]* S2 G! k
{ % ?: L7 s5 b: O7 t
+ ?, A v* Q* n% H4 W this.on=function(id,bMZ)
9 Q+ f6 R# ?9 Q' C. C8 z {
% F/ H! ]5 @4 ~" M7 O: ^ * @% w# m' V l" U# B" F# ]3 d
if(id == 0)! u2 a$ }( j! v' f& V5 ` W# A
{9 e W1 E6 T! M$ T/ _, P. v' p" q8 R- K/ q
var page=/* document.getElementById("content").contentDocument */document; ' U" N9 W/ w, S
this.RemoveHide(page,"span");* o0 [/ m, p5 r+ H
this.RemoveHide(page,"font");
: U h0 x" A2 G8 N k8 { this.RemoveHide(page,"div");
4 U: P2 q {1 s& _ this.RemoveHide(page,"p");" m6 h; {4 h& g0 V2 E' r
- s6 S6 ~. M, G) G }
, K: O/ v* V; a( ~2 z% X
. t; ^9 t& c* G2 A) w. A }" S' l5 E& I6 a0 C6 ?3 H. n3 ]
this.getobjstyle=function(node,prop)3 B8 ^- u; d1 ~* ~/ V- o
{; q+ t4 h* }# o5 I6 w
try
9 }: j+ z$ y- T: Y: }, i' @2 l5 N {
2 A; v( W: V7 d7 g+ _4 w1 D return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# {% t/ I; d8 a2 K
}- O' \: Q1 G( Y" D! ^
catch(e)
/ [) F+ O. |- i8 A/ N {5 B' D5 X3 O" P$ u! A
if(debug)% A" V/ Y2 \; N/ ?, R# H* \0 w
{3 B, d6 g: I; P
alert(e.message);# r6 K) ]( u3 m& N' a$ g
}
* m1 A* U1 S/ j# k
( k, F$ q* k+ b2 @, e! w return "200";3 U( V* v& h/ A7 N# i; o
}; d3 t. S& _0 e
}
: D& q) I3 U0 e g1 X0 x0 ~ , j% b/ U5 n, P% H! D" ~7 N
this.RemoveHide=function(page,objname)# V. |4 t/ n" x. v
{2 H! O5 G! Y) u" q$ H I* x6 i
try
7 }8 O, O* w8 y4 E( [$ S1 |8 y {
% t' l' _! K" |/ @/ V var minValue=15;
; l6 ?. N7 H% f% v2 L var objs=page.getElementsByTagName(objname); , E1 Y+ i: d* }6 C) Y
1 I' r q& y* e1 V; }' p$ p9 D$ m1 c if(objs.length == 0) ! T- C, c! C' H8 @
{
3 E9 w G8 G& V: s3 X- l5 S) C if(debug)
& p0 m& ^6 }. V" }, Y {1 H8 c4 \, e1 @% w- Z3 `4 j
alert("no object found!:"+objname);
' m1 R& C2 w) q7 k }
0 e* s; s" |7 B: M: A }
, b6 A/ y s( h8 g else
2 D# ?# R) Y, C8 P7 U/ X$ x {
9 a V/ A8 U! L( a
& c6 C; R/ e8 ` for(var i=objs.length-1;i>=0;i--) # Z1 ?" |3 A3 S, e5 C9 t- L
{7 n, J8 Q+ k2 i) m
var node=objs.item(i); ! |% j, g( ?2 A N
2 Z5 X: c/ }% [
% c; U* U: A0 O& s$ c( i
if(this.getobjstyle(node,"display") == "none" ||
" k7 R2 l# N% {% Y5 [0 S# D this.getobjstyle(node,"visibility") =="hidden" ||; a+ u0 x! |0 P/ [" r1 y
parseInt(this.getobjstyle(node,"font-size")) == 0) , S8 {; d7 Z+ \8 f/ H. A' E
{
7 g+ ^7 n: Z$ K. F7 b if(debug)
7 C; d" i/ z+ Q2 Q' B$ _( O, S# @ {& n+ @/ X: v" v4 C" f2 P) I
alert("remove invisiable!");
8 {8 ^' ]6 b4 C; Z/ r+ t }8 N4 u1 O2 ~0 @9 q! d
node.parentNode.removeChild(node);
0 x# g5 n. l- D' t4 m & I n8 M$ S, f% O' b
}
/ C1 d4 u1 j! A5 r else
" a. Y3 A! y- Y9 w {- z/ _+ K$ T6 {+ a& h
if(node.parentNode) 4 P+ L+ T( \3 R+ m* t
{
3 I$ s9 z/ F3 A: [* S6 f var orgNode=node;
. D: ~* F0 C+ V# k4 _ var orgColor=this.getobjstyle(orgNode,"color")
4 }- `- z* b) _ var orgRGB=getRGB(orgColor); % |% p8 ?+ w* F
$ r% U6 p" z" p. r
var parentNode=node.parentNode
; r7 J% h- L: e y: d var parentBgColor=this.getobjstyle(parentNode,"background-color");
, \1 ?! W1 w$ J& ]! H8 |3 B
4 d7 Z7 B% o" r- x/ w% P% z var isLast=false;
2 H; c: _6 c, B" g' z# f! l ~, ?7 v8 N( @% d: H
while(parentBgColor == "transparent") . V0 I$ h$ f; F6 f8 I' K/ H
{3 f4 J4 Q. X0 k2 V) j# G
. v9 t* K$ Y B * O# x3 m% [3 H2 ^8 U
if(parentNode.parentNode == null)/ V0 H7 A; E; e$ |3 G
{
q( y, m% O- U isLast=true;
8 D1 {5 _( c' w p5 y0 P break;
, Q' I5 ^! ^) Z }1 H0 f: [6 D1 @* W+ W
parentNode=parentNode.parentNode;6 b j4 A9 a. E7 V4 D- b& _
parentBgColor=this.getobjstyle(parentNode,"background-color");+ R: R9 ^+ X& h
! G- U* ]" w; I if(parentBgColor != "transparent")
3 V: G+ l5 r7 C e/ s# U {5 Y+ q( d% u4 Q6 h7 K
break;, W) ^! g6 z8 \) C6 r
}2 s; n" {* }; H* n
}
: `; n6 ~7 F o/ @4 G5 i if(isLast) / X& P2 Q! O) U
{
- w' ~; U" \; w3 W6 g3 U if(debug)
( s6 c5 ?) ?/ f( } {
: G1 b. k2 @3 s. a" e; v alert("last!!");
8 R e, ?1 Z0 |8 N7 T! E( u }
2 v# W3 _0 }5 Z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
: I$ M* ?8 o& p {
; z7 K" q4 c! o+ T. s orgNode.parentNode.removeChild(orgNode); * K/ [$ Q0 e' q" C3 D6 n
}9 f6 c' Y( _! j- ]. @/ X
}7 o4 k+ m, x- c4 `, v9 v& h
else" r( ~, o& k8 B! C% l
{
( f1 {" M0 K0 R* i Y7 H if(debug)+ V$ k! s! D# n- D; y) a
{
% K4 b& L4 i: g1 E' H! ` alert("compare color and parent bgcolor!");
1 i- `. }" `0 ?) E5 B" R+ q }0 Q) E) [$ F; o9 o: k& T% L
parentBgRGB=getRGB(parentBgColor);& |/ { R" D+ m9 n) {9 Q* X. v
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, u5 `' W F2 U# A+ C {' H! h1 \6 w5 A9 X
orgNode.parentNode.removeChild(orgNode);
5 A" ?4 Z2 c/ j9 t. h1 T }
7 Q. w1 \$ `% h) O# O% l }
( U- D* ]6 D' ^- Y4 s( k }
8 x- T J: E' ?/ M }: b5 Q( o7 E# y5 ]$ ]
}8 r$ t V, b/ J. C
}# [7 g( \) s' @" ~+ p
: S5 D. w2 R5 C5 G8 P, {
u% {0 Y5 B4 l, q) M; d var itemFrames = page.getElementsByTagName("frame");3 @' Z1 ]0 n! c4 F0 a& Q$ ~
var itemiFrames = page.getElementsByTagName("iframe");5 V7 g- u6 x8 c8 Y, ^: c
. V" W6 ]! J# E& M
var frame, iframe;1 L3 x2 Z0 s! f- N: v( _! x3 B
if (itemFrames.length > 0)
. X3 O6 t1 g/ O3 K {: q8 Z- i: X# _' @+ H
for (var i = 0 ; i< itemFrames.length ; i++)
! m V5 L" q. C# P5 k8 v! | {; }" I8 N9 R5 X( \8 d7 j+ \2 H% W5 J V% j
frame = itemFrames.contentDocument;
5 } t" R# {, G0 Q7 R- B) @/ U this.RemoveHide(frame,objname);
8 V4 j/ e- G" h3 T7 ~( d }
2 I' W7 r! S6 O' |# X) b) Z }/ n+ ? s3 o( A5 J9 e: Y' T
if (itemiFrames.length > 0). F+ \# P8 [/ E4 m8 N2 i3 K
{
4 h6 p+ b) m6 I B0 u Q* F for (var i = 0 ; i < itemiFrames.length ; i++) $ L! h5 r( d, w H( y5 N
{
! | N7 m4 Z5 g1 `9 C$ ` iframe = itemiFrames.contentDocument;
& V& P8 `0 G% J p! Z' A+ p this.RemoveHide(iframe,objname);
3 v0 H" [) u: i: l5 O1 g) ^/ Y d }. D# k. g8 X- `1 ^0 G& @
}1 E4 I/ O- G) v$ \) o y
}
4 `; f. L8 C" p8 S; } catch(e)# G% I* [( s8 S, j2 g/ W0 a1 i; D
{- P% j$ u* X; M( v7 f) @
if(debug)
1 p' d0 J/ a( w1 F3 k {
8 j; ~1 w( N- c+ d, P3 b* Q alert(e.message);
& c. x4 s4 M: c# H, ? ` }
N# s3 z n/ J( l& l }
) A0 ^# V6 A4 X- a5 b2 @* n }+ f9 R0 j0 X3 h# N
& y# V6 F# b3 a& d}5 x( f, U6 b9 ]; X, u' I# F" x
% G. w4 [% z. }% @
function getRGB(colorString)
: g$ t, M: {" Q+ i( Q2 R{
, f9 [. q# \& \0 S* t var RGB = new Array;5 w" ?$ @& S6 o8 y
var tempSting=colorString.substring(4,colorString.length-1);
: g, o4 N: o9 A# y5 `3 X var tempArray=tempSting.split(",");
5 n5 H5 J, r2 J" ?! {! }
7 z# ~5 Z: h; c, L! v. U2 y, a1 I RGB[0]=parseInt(tempArray[0]);! u) P/ n- e+ y4 z1 j9 g% m1 N
RGB[1]=parseInt(tempArray[1]);
_$ _4 k) }* e) }0 K9 ~+ v( \ RGB[2]=parseInt(tempArray[2]);; R: {8 O# W1 g1 k! p
b1 _- l- a s+ l8 H/ h
return RGB;# {& g8 o% H- y4 \
}& [9 n5 [$ Q8 _: `( T
function keys(evt)
7 x$ G5 N0 d- T) m- w# n5 L {
; N2 _( s# {! \/ o3 h if(evt.ctrlKey && evt.keyCode=="81") , o5 ]# k n5 D5 k% m+ e
{
z3 h3 Y( f- D+ i6 m- e- W CleanHideObj.on(0,1);0 K: H& s' s/ E/ a* o$ A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ' K1 D! o( C1 q6 {) t9 _1 H
7 c+ ?% K3 V0 B" i } 4 [2 Z# U: b8 M, B0 n
} + n& y* M, \4 A) Q1 J4 P o
document.addEventListener('keydown', keys, false); 8 n- f( f( `. Y" f( B& b- W
GM_registerMenuCommand ('Clean Hide',
; M6 ]; G+ O# N% F2 ifunction(e){3 H( y; \6 E5 j" q+ f, }' `
CleanHideObj.on(0,1): B: c) m m. i# v% D/ V1 g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ G: i. R; |8 |
});
5 y, u! I8 M- {) j' Y9 A |
评分
-
查看全部评分
|