|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ ?- L( b; z, y8 t& C7 U& p, ?: r* N) R" F# X& C8 {8 N
火狐插件,用猴子, G" F7 N- u4 i
6 w1 G0 G- {6 U
var debug=false;
- r7 A8 l. J' V8 m( F5 gvar CleanHideObj=new CleanHideClass();
3 m% W4 r0 |: |, m9 m
% U, b; G9 j* ^2 c: Jfunction CleanHideClass()
: o- h" v' k9 `# A# x- g{
# c( U& I6 ~0 E# w ' j& C; w. P6 E4 S7 ~
this.on=function(id,bMZ)
- A \+ n/ U- S7 R8 o; B* G0 A {
+ A, H- t# V$ t1 m1 G' ] 7 j/ r! F* d. T
if(id == 0): l2 b/ w1 S& A! @( A0 N$ U
{2 d1 o: }) {, g) C/ \
var page=/* document.getElementById("content").contentDocument */document;
! T6 \/ o/ ?! o+ H this.RemoveHide(page,"span");6 u1 o0 J* _5 ?$ K& c1 C" O
this.RemoveHide(page,"font");3 A. F) R% q# o; H [- l1 g" h
this.RemoveHide(page,"div");
# e9 m* Z- |4 j! P; C2 [ this.RemoveHide(page,"p");
9 P# H$ t1 i+ r& B. r. A
- ^ ~$ e, q5 I0 W+ Y }; w$ D. S! T$ W0 h7 u0 @8 L
5 u" b. p/ m: u+ Q% L; Q" Y }. b+ r2 `1 p5 O, b* h
this.getobjstyle=function(node,prop)
, X$ k: H* d. p* b/ _$ f7 F {4 m# U+ [" t3 X
try7 T. @6 w; @7 n) N9 S
{
- D N6 Q8 F! G0 X4 m0 h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 j3 x/ B+ I8 n& D/ L9 w8 G
}
2 m* {. ?- S2 i9 z2 G- Y; z catch(e)9 F4 A* A$ R7 r& |/ r+ `
{, Q @% q' M3 L6 K" V
if(debug), W' j* T/ B* y# m: y. a! d* ]3 j
{
$ x& I4 {- C6 a* A alert(e.message);
* q8 ]; L+ g+ P/ L2 R9 U, r }
, l ^( L, i( b' y* ?9 ~
) P. v$ a$ y6 Y# ]5 e1 H% G return "200";
. G5 ~+ X. q% h" C& n4 J; V d }" d$ y# V9 ~2 F, d" y7 Z
}
' G; u1 B4 L2 [$ ~5 N* X u / V4 _/ z; N3 i1 d. W N$ D; j7 o
this.RemoveHide=function(page,objname)3 \6 e3 X- Y J3 b d$ F% M
{. r/ h+ v* Y. J* c: D) n
try3 {8 A1 J7 Q- e, u! D% `/ v
{
: F. y5 O! K% d! m5 I& ^, F var minValue=15;- @" P+ N& g/ v% j, _+ \
var objs=page.getElementsByTagName(objname); 0 P e, l( o3 R3 o. S: V
2 K* [5 k+ |& D+ Q( a
if(objs.length == 0) # U* M q8 b9 F: @7 {. X
{- `, K# E( {. f. z: m" M
if(debug)
0 v- ?! L8 N' K3 _' {3 [( o; B) z( ] {+ F, i4 a% _& G" J+ P
alert("no object found!:"+objname);3 |1 K* k) p* J$ N6 S" y- M( q2 n
}# X; f0 c/ X( w
}
# }- A4 s5 P! H8 k else) M8 c# b9 x W, y+ A2 v1 p( g
{' Z7 E- @& K1 c% L
( r N6 x" Y! d. z for(var i=objs.length-1;i>=0;i--)
9 s. K3 O+ \5 ` {( U0 y& n( h' `# s. {: m
var node=objs.item(i);
6 P; h7 f$ ~. V: b4 H% e 9 q5 b7 R2 ^8 \
8 l& m) N- P/ ^* C! Z
if(this.getobjstyle(node,"display") == "none" ||3 t+ o& t; [' q, |; Y
this.getobjstyle(node,"visibility") =="hidden" ||
- P/ ~8 q* d- y% D- U& W' t; q parseInt(this.getobjstyle(node,"font-size")) == 0) , O4 L$ F+ s( P" g8 O& y3 @: P) t2 |
{
* g7 T0 U4 r4 O6 M* Z6 F6 A1 z if(debug)
4 ?5 m7 y) F! j- p, Q {
9 R7 k- w& S H+ j, B alert("remove invisiable!");
9 m/ s E' W" u }
3 b% p1 s+ D7 B; J' N node.parentNode.removeChild(node);, h) K4 N# }* `- O0 B+ `, P" E
Y0 b, J7 F! J2 V
}2 g8 H& }+ ?- ]+ p5 y
else ) l% S: N2 c* \6 q: w! a, Q3 x
{) d9 [+ q1 p2 A. x# C/ A& L8 c
if(node.parentNode) ( H% Y1 o! s1 z9 w/ c
{* U+ M. Z0 j. w
var orgNode=node;" F& p d, J2 ?6 S0 l
var orgColor=this.getobjstyle(orgNode,"color")
" X5 c) v/ t, x var orgRGB=getRGB(orgColor); ( _( B' \9 l1 }
1 U/ T+ _% i4 ^- q var parentNode=node.parentNode; x1 }% ?! Q2 P
var parentBgColor=this.getobjstyle(parentNode,"background-color");
0 E" \1 A/ ?, w- {
, S( l3 n8 i* E- g% Y7 F7 N var isLast=false;
; g# x; c% w/ ] , k8 a' @; {; h% ~
while(parentBgColor == "transparent") 2 h$ Y& i; l9 q
{
7 I% U6 `) }9 Z# ] k# y* m( o% D( S$ {% C
' c6 { g/ |" D3 @) o3 ~! r0 V if(parentNode.parentNode == null)
! o7 z) m$ c0 \# o4 ?; t {, f! z) u2 {; Y+ F+ P2 _; W( C
isLast=true;
5 Q8 U4 `2 J/ |; c6 i7 g break; @- n4 R4 I/ r5 f9 A) L9 x6 N
}
& ~7 o5 X8 _: h$ V' V; H2 V parentNode=parentNode.parentNode;; d- P$ t( M6 e; p8 R% ?
parentBgColor=this.getobjstyle(parentNode,"background-color");) G. K9 @& n0 V5 X; l1 q
M- _# c* E h6 O# I e if(parentBgColor != "transparent") 4 J- P C' d2 E2 o* K
{
& C5 W$ k$ e( W4 x8 ^ `0 A k$ U break;
. I# G9 t( R( L" Q9 Y& s% i/ S6 |+ q( W* J }
' f3 H3 L( e& t# N, ~$ p3 i }2 s Q& X! D: u. l' p. {) j5 p. I
if(isLast)
- r6 G( I- }5 _ {
& l& q6 s8 V/ I2 |0 h9 i0 v if(debug)
$ b9 u' J" x# o" c" ~ {) \; M8 X/ J/ Z' @+ p/ ^* B# N
alert("last!!");6 W! D* J& @% |- H# O, D
}
. L1 u: o% y8 T" n8 E" O3 a2 N: n1 g- G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' C) c0 h' \7 r
{' ^: z1 ?- v, P4 C5 a. |
orgNode.parentNode.removeChild(orgNode);
/ V+ M' }8 \; G' d( F+ D! y! @ }$ V1 E3 K. Y; y5 l
}
" y( f! w1 ~. w7 ] else4 k7 x, ]& ?( }: F; c! [
{
, m ^. [) n. t; J' E if(debug)
) Q# w6 S0 [) L! I {
" G& j% U( N7 z% k5 k0 @* N- q alert("compare color and parent bgcolor!");- v- ]+ J! J; R* _2 |3 w* S& [, b( g, {
}
! w! Y7 S' g! f7 d parentBgRGB=getRGB(parentBgColor);
; k" L. ` C" D8 x+ @ v if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 i' d: }; q$ E. G
{" V+ T# W) p0 A7 x$ i- U/ D! z
orgNode.parentNode.removeChild(orgNode);
[7 V, P$ Q* {' z }2 V: M x; d8 K! M9 V$ b5 v8 b
}
" S+ _! Z4 w6 ? }9 N' D" E1 o& H, q
}
( `: {! w$ m( [# P }
: H) _0 |! d; r0 Q' M) N g+ K5 ? }9 X4 k n, {# p2 R; k
5 Y3 b2 o/ P; b" b# V' e0 j
$ X7 g3 u o% s! v
var itemFrames = page.getElementsByTagName("frame");% U3 D0 D/ ?2 @/ G0 S) C0 `
var itemiFrames = page.getElementsByTagName("iframe");2 _' h7 s+ P/ ^( V+ W) ~# u
" H8 {% n! D+ B0 b% E& D var frame, iframe;
0 }& F5 T4 ~$ P8 \0 S4 ] if (itemFrames.length > 0)
o, t- g' f p H {
' l8 I, t6 V# \$ B; {' } for (var i = 0 ; i< itemFrames.length ; i++) 0 m6 v" ?6 M- X+ r9 C1 k' Q! x
{
4 E9 l- i7 m% i; l9 _/ v frame = itemFrames.contentDocument;% g+ f( f% U3 @, h2 x, G6 O9 ~
this.RemoveHide(frame,objname);
$ I A5 i p' q. @% f: B }+ I( F) K& m* M& ~8 [
}
, u/ o# |+ P* f1 F if (itemiFrames.length > 0)
) d4 k( h5 a" g {" f8 M2 o. M2 z$ L% k1 O5 ?) ~
for (var i = 0 ; i < itemiFrames.length ; i++) * d N$ {) ~9 B
{, h& W5 K0 p; s4 f# A( ?; h$ x! z
iframe = itemiFrames.contentDocument;
7 k1 [! w& W+ a4 h this.RemoveHide(iframe,objname); ( U5 @7 Y/ B0 {2 i' b
}
9 u6 b- T8 |5 q9 _" | }
2 h6 Y" o0 F7 ]7 l6 y+ O. N2 O } A$ N; x, P/ o3 y& E
catch(e)* _ _. z- u4 J- i) I" {
{+ n: ~( o/ x' A" O1 j5 |
if(debug): t# ?5 g! a/ {; E4 T' N
{
* y. M+ p+ z0 _* [9 |/ ^5 _, U alert(e.message);
4 ?* |, [- T" j+ a5 d2 l" D* }) r }
/ \0 f+ m3 j* _; T) j0 ^' Q }
3 E0 q- W( A" U# q5 g }& m. W3 n, r* D
5 u) L/ f' E/ y8 ?+ f
}
: o4 C5 p9 I' v' f+ m7 [+ P2 H6 J5 X; |) X1 }( c& R1 E' \: w. Y
function getRGB(colorString)9 q4 w* a S' N5 ]: _$ P& T
{% c( n y& D- T, b8 w
var RGB = new Array;
3 b7 f0 g' N2 p1 ]/ K( X var tempSting=colorString.substring(4,colorString.length-1);4 `! z: p/ r( W/ g4 V& {
var tempArray=tempSting.split(",");
( G8 k6 I" D8 f" F2 @8 A0 O5 h) s, p, G
RGB[0]=parseInt(tempArray[0]);
6 W& {' i: P- V5 w5 Q c RGB[1]=parseInt(tempArray[1]);
4 q- O6 f# V" w5 }7 P RGB[2]=parseInt(tempArray[2]);! ?% X( }# q& V5 y
" w$ _; \- v! F0 Y# `' w" q2 m4 l) t# c
return RGB;5 M# P8 C/ Z( @5 O' a
}& e* A2 ` C3 p. l
function keys(evt) 7 a5 U: f7 C/ y1 M( ]
{ ! L0 h) `: B! h/ h
if(evt.ctrlKey && evt.keyCode=="81")
5 j5 ]; d4 k4 `' |+ H! Z! X n { 4 s. C: b9 O. n. O9 n! R8 t
CleanHideObj.on(0,1);& j" n2 ~4 {' @- g7 h+ G
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: c, w+ ?3 R5 o, b
9 d) \" y7 P! s' v0 I+ `( a }
- E8 p2 m1 `5 C- q8 E2 {5 \ } / L4 c; ?- o" _" ?! u! V& E
document.addEventListener('keydown', keys, false); 1 e5 D2 a7 R K; l0 {
GM_registerMenuCommand ('Clean Hide',
7 V; I9 M" r2 s9 j7 p8 b$ v+ { e0 |function(e){
7 C' D+ g- Z' tCleanHideObj.on(0,1)
; O- r* ?0 Q5 R# I- p8 m; @; galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
B/ j# `! N2 J% V m% C});3 }' q: I- K& @2 h/ t7 i3 B
|
评分
-
查看全部评分
|