|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 Q4 \% M! M( O: d/ @. B
5 K% x( c; s5 u1 s" G
火狐插件,用猴子0 c3 @. x7 V6 T$ ~% e5 b* }8 x
; m; E' Z1 W6 _var debug=false; ) J6 d+ z7 o W% |1 r+ V( g* @
var CleanHideObj=new CleanHideClass();" O) ^- \" M1 i
: R4 {0 H, G! f" ^
function CleanHideClass()
: C; K5 F6 i, E4 m3 U, f{ * J7 q# R$ ]5 y+ I. H
8 P- t+ ~6 r+ V* w this.on=function(id,bMZ)
4 a; ?5 B6 o. O* A2 Z) n4 Y {' t: k" j9 R v7 \
) i9 U# r' s1 D3 X2 Y6 { if(id == 0)2 ]6 g/ N7 @% z: h+ ~& w. Y% m
{
* C) x) I8 W7 z0 X, v, Q- W( B) R var page=/* document.getElementById("content").contentDocument */document;
( B/ x, w, ]/ B/ j; d1 d this.RemoveHide(page,"span");
4 z& A6 A6 N2 A+ [( \ this.RemoveHide(page,"font");: _( h+ L6 {* _
this.RemoveHide(page,"div");
5 k: r, W6 K. a5 v/ E this.RemoveHide(page,"p");
% o& o4 y6 V: h
$ b) d9 y& i! U4 W- c* m4 p* ] }9 e; [& z9 a9 y: i) d9 x2 q' x0 q$ l
! ~* c& z' e# s* O
}3 i* N! G& k$ u0 }% I6 w
this.getobjstyle=function(node,prop)* S/ g' j/ Z% b% [' o6 ~5 }
{; l8 C* N: Z: w" }/ T
try5 j' {+ w( J3 g. N; Y1 R/ M8 z
{, a3 D; Y, n- O3 ]8 |9 n5 D
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 w+ ]" a3 p2 ~9 q- `
}
" t3 `2 I* N* j& i+ L& j catch(e)- b- H* N! o2 A" q1 w
{
. W0 g- c" A; L7 u" Y+ d& o; r if(debug)+ q8 M" i1 |- W9 V# `2 x
{
7 n) D# D" b+ j- L7 s alert(e.message);# }4 q* b$ M) y) m& I, R N
} L2 L) ~ R8 h
4 ?# B* U" G- M, l# \) p7 f, r
return "200";$ F# O8 L' j. u" I. x
}
* S: |4 O, _/ N9 u# s: ]3 f }: ]+ ]3 U$ d$ H2 I; a8 F! R
7 j' w4 g8 U2 d. ~2 w7 }2 r( e
this.RemoveHide=function(page,objname)
/ j/ R( u# K" B) g {9 r$ x5 l& \+ ^: n6 c4 S
try
' M w) o5 [8 I5 d {
: g; v8 A$ z3 y, D var minValue=15;
1 ]9 k. ^( ?& j8 z var objs=page.getElementsByTagName(objname); : Z) T6 |# x4 L) e
" {9 L3 e; M; M& _ if(objs.length == 0)
) E9 C) q4 M8 P+ g/ k0 o+ j* v {# Z$ \: n+ m/ ~; q4 h, M2 |7 G1 j* ^
if(debug)
* N: ]' h0 h5 E( U' T8 ^* ]9 l {6 o4 n& A! M' D: z- L8 I' f1 V5 a
alert("no object found!:"+objname);
" j' k8 G! f: q W }
5 I: f1 ~ X C+ ^/ |$ X& Y }
! `- K5 C* q( y$ W* r6 z- h else
% }7 l# ~' J( ^2 T3 s {6 G# z7 |. R% Y6 S0 ?$ b, L4 j
" y# {; x$ q9 {( ~0 Z- [7 S
for(var i=objs.length-1;i>=0;i--)
6 L. q2 P$ A9 r _6 J {& m3 c8 K* Q! k+ o0 Q
var node=objs.item(i);
1 z5 E' y$ r4 [ , y' s& z- F0 [* i
% H) d- v# ^: {' c4 Y+ z
if(this.getobjstyle(node,"display") == "none" ||. L9 H4 x5 n: I2 U4 y9 |; ~9 k! V
this.getobjstyle(node,"visibility") =="hidden" ||
, Y( W7 a4 P# ~' M* i parseInt(this.getobjstyle(node,"font-size")) == 0) ) p7 o" F0 k- Q# N& C( t
{
( O5 w& r2 v" X7 F& ^3 e if(debug)
8 g2 [. d/ Y4 l/ r7 _1 @8 H# H1 L {
# F2 s: b8 K5 T1 K5 h: J alert("remove invisiable!");
5 B$ n( b# x' b1 c6 { }" ], e! Q( F$ ^9 O) I
node.parentNode.removeChild(node);
3 n( E! V# Y6 l1 f+ W$ I ( p# W) X$ [) X0 ^# _3 g% M. Q4 h
}
5 {: x3 y5 C3 i5 U& y else . [2 s8 z2 V& ~$ I, L
{) {, q$ \( \( X0 Z3 V3 [- d: ?
if(node.parentNode)
J6 p5 [3 g5 J( ~. W* [ {: u! |7 w& r4 a! B1 G& R
var orgNode=node;' g2 ~. _8 Q# X
var orgColor=this.getobjstyle(orgNode,"color")
( g8 q# A2 x% k+ q var orgRGB=getRGB(orgColor);
9 {/ i, l3 B5 a! j6 ^ l8 p8 j( a 9 I* X# z) D* R, y6 ]
var parentNode=node.parentNode8 G; `& g7 |/ u$ o5 `- w
var parentBgColor=this.getobjstyle(parentNode,"background-color");
: \4 a* c6 z$ z% h$ v: W) E
/ o0 D) b4 t. r, V( D0 D$ i var isLast=false;% v7 Q/ o g/ [' \; z; | s/ t
# |& t4 g: h/ P/ S
while(parentBgColor == "transparent")
: x. E+ Z5 v, A) v6 h! k4 k. h { W; q( J3 v$ @7 c' J/ K
+ g2 u9 `$ ]+ g& r Y$ s! v
. t& }- D4 h7 K' x3 ]. A( [, q$ a
if(parentNode.parentNode == null)
6 P- X" c) M, N1 j {
/ C& y+ ?% I s# z; |: ]9 @; [ isLast=true;
* g! c1 X3 V) w* J; h5 F# i) @ break;
. U9 L# c W+ D4 F0 ? }
' W) h4 U! T$ s/ x, h' y4 B parentNode=parentNode.parentNode;
5 p2 X6 P* b! ~" s* ^ parentBgColor=this.getobjstyle(parentNode,"background-color");* p" O/ P9 {# f; i2 h8 D/ }1 ^
; X/ N! y. S4 v/ ?/ x, c2 H if(parentBgColor != "transparent")
0 o% ^1 ^, J3 Y4 r/ s9 \6 W& j- Y4 v {' k" h2 y j7 Y# [# p/ O
break;7 n' W+ S/ O/ J1 c ~ s
}' {8 F5 c8 ?! [* {4 U7 ]
}0 Q' [- w% v9 {6 x. q
if(isLast) / K5 t" j# n$ }7 l9 a) V, l- o8 }
{. ?6 s9 y2 e X
if(debug)
( h( x7 h$ K& }! H4 s4 E/ {! N' R {
" }) u% c' E7 z( A. p5 B6 ? alert("last!!");& d: V! Z3 L) J1 a/ I
}# O+ i3 S0 K% k# X' y6 Y) L0 B
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! s, q% Q) s/ e) u ?. R6 O
{* S" h; j# Z0 D+ @7 ]- F$ J, n p
orgNode.parentNode.removeChild(orgNode);
2 N/ \! h7 j- C6 C$ g2 y }8 y, f' n z Y0 d/ D( [- V
}0 A+ ^: j$ y+ X" c
else' g6 Q5 L, u5 v% ?
{$ Z+ C4 b0 ]" P
if(debug)
% i" I+ V3 k% n) M( | {: a7 V$ v9 f4 e: O
alert("compare color and parent bgcolor!");
! {- V+ F Z7 V5 j# a& ]2 e }
3 {2 w' i* r9 x parentBgRGB=getRGB(parentBgColor);
4 a9 L4 B2 q- n% {2 `- q. U if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), u v" A+ W' P* |/ _
{
8 I) g1 C" O% @: N orgNode.parentNode.removeChild(orgNode);
9 P5 T8 @( X& v, Q2 G( Y% k6 K0 T }
$ P& Y: _8 j8 B& C }
# \3 ?+ v+ g' l+ b0 c- J% e) J5 E& Z }
1 a) f1 V. r# Z" ]( T* h }! l! y8 k/ L. U# N' a I
}$ y$ \/ ~: l$ _$ o3 j1 Z# R+ m
}
. ~2 o- X# m" P' V4 W8 A( ^. o 0 c6 ]( Q$ @6 P3 V( J
- i# N6 s# w5 a/ T ?+ y
var itemFrames = page.getElementsByTagName("frame");. q" F: b) x) P( y- ]4 R
var itemiFrames = page.getElementsByTagName("iframe");
@, y+ T! Y! h' \0 N
# V2 D5 Y% P: M6 o var frame, iframe;8 O" A/ \0 K& u
if (itemFrames.length > 0)
6 R2 x7 ^/ S5 ]( J: I( ~$ n- o8 e) X {1 X8 H6 f; ^. z8 I. |+ Y
for (var i = 0 ; i< itemFrames.length ; i++)
8 `" ~1 g: P) G* y. P/ O0 z) _ {
]: c `7 a: A8 k8 L9 c frame = itemFrames.contentDocument;
; [' R/ E& u8 t+ I" H( H2 C: L8 U this.RemoveHide(frame,objname); ( Q7 ?: ~2 ], n ^4 k1 @7 i4 h
}( ] E4 _+ ^2 v( T8 Q6 r
}
. a8 h+ p5 `, M( V* D; \" B if (itemiFrames.length > 0)
" c7 s# ?4 w+ I3 d9 s7 t {1 n% ^+ Q* j6 M% U* ^3 w
for (var i = 0 ; i < itemiFrames.length ; i++)
* j1 k4 A# N7 k c: k, k9 s {7 a! [- n2 ?+ V7 V
iframe = itemiFrames.contentDocument;
N) f& ?& a+ H* d this.RemoveHide(iframe,objname);
1 n9 x1 m$ X% j }' [5 [0 \6 w/ G* |4 `: y, r4 N
}1 l% }8 \* k( w
}
4 }' K7 n6 W- r8 {! K) \ catch(e)
4 N4 q* \4 K4 y! H, P {+ G" r: |5 G3 r/ w% z8 e; n
if(debug)
+ o- D5 I* x% d, X- b% P& x {) K! [& s6 j P! N$ Z0 I$ A
alert(e.message);
; q6 J9 ]1 m. x8 M1 t/ v" F2 V }9 m# G" b3 P; }0 I0 h
}
j8 Y) j0 U! L1 V }* i: `/ r z. ~
% v' i$ ?8 E# n1 D# S# M% B) N
}/ P1 c' K; a3 X/ x C" J+ c
( A% _1 Z' E8 I$ C, g* zfunction getRGB(colorString)
: C9 t3 y) g$ n{
+ H+ E9 ]9 j* V var RGB = new Array;
4 t) e* M! @1 F var tempSting=colorString.substring(4,colorString.length-1);
8 V& {0 p+ _& Z! x; o3 L var tempArray=tempSting.split(",");
, f: Z8 b8 l5 o2 d5 |% ]+ U" Q* h# P# O1 B/ j& Y5 _
RGB[0]=parseInt(tempArray[0]);
3 q# s2 T/ ^2 r* S RGB[1]=parseInt(tempArray[1]);
- _4 d2 V- g/ m0 ^9 `3 E RGB[2]=parseInt(tempArray[2]);# P; r* j8 Z- B# a9 j; }) a
% ?7 F3 Y7 w9 n4 L0 K2 G/ {1 c return RGB;
/ Z0 G6 o- r( N( ]}
, {8 A3 O# x A; jfunction keys(evt)
4 |: {8 Q4 [0 L { + \5 m* ?+ n, r1 Y U: ?# j
if(evt.ctrlKey && evt.keyCode=="81")
5 u5 B9 T# _9 R1 A- u' H: A& ^ {
) A+ c+ f* ~+ P; r/ {9 U7 d CleanHideObj.on(0,1);
' e x3 Z) U2 U) S2 ? alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , N/ u$ w; x( q" j" F7 y
( ~# k! m" h! v# L' U4 w' I } 7 t, X5 V/ q! k8 i
}
2 X w. `( ]; B; F7 y% ^8 gdocument.addEventListener('keydown', keys, false); ' f/ B2 r+ F; U. S# k
GM_registerMenuCommand ('Clean Hide',
! g% n! g+ P4 F3 p; k3 s- J* m1 Xfunction(e){& ? G' r: T9 b! y! |5 K9 ?4 _8 {# n
CleanHideObj.on(0,1)9 x+ v* q! q8 S1 `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");; |! [! a7 m7 s) _' `8 @# r2 H
});/ F' P. x& z# R9 `+ @5 R2 ~
|
评分
-
查看全部评分
|