|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % J" y: P4 R. ?* n \/ L
3 r" p& n0 a V4 U- o火狐插件,用猴子
6 | }( }$ f7 F3 x" ]7 @7 ^1 B* Q+ C/ Y x! v2 m
var debug=false; 7 R# s! `6 l, l, F
var CleanHideObj=new CleanHideClass();1 G _, s! K" N7 F
0 ^# r! V/ y9 g4 K# J( T- B- ?function CleanHideClass()
# H+ `2 a; E% T{
; q3 A" \" u0 Z & {0 q" M& L6 Z ?
this.on=function(id,bMZ): Z( b9 l) M3 R7 w% N
{: d* d' |( Q$ `. t: c; v
1 S' |6 Z' U* K5 [
if(id == 0)6 v2 X+ Q: C% P2 b4 Z; ~; e
{% ^ z9 C; ]$ B. v; q! h. y$ M! u6 }
var page=/* document.getElementById("content").contentDocument */document;
" V' q l: M# _) j7 K9 ^' u this.RemoveHide(page,"span");, c9 N! F& I. Z$ p2 x- \5 E+ M9 U
this.RemoveHide(page,"font");
- R# n# t! H3 Q8 V; A this.RemoveHide(page,"div");7 k! d9 e' I" }
this.RemoveHide(page,"p");
8 I2 e$ B; I* j& f
6 s, n$ [! U7 \/ y W }0 L3 A! F! V2 X* K P
& k, k. ~$ e Q
}2 h) P4 F& t, v0 s) ]
this.getobjstyle=function(node,prop)
+ e& S" j& f0 z s( c: v {
3 G4 w; b% _- [& [ try
7 s1 I' H2 Q9 a {
/ L! X4 i4 Q4 y2 b# R D4 z2 Z/ V return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. P9 v9 f' t( P }
% F$ t2 i4 _5 h catch(e)- b! g$ e5 d& w4 H0 P
{* T0 u( I: k E2 e% Q. i
if(debug)
8 P+ l$ L' [" ?4 K; v {) P0 o/ T' ^, y
alert(e.message);* ]6 D6 d4 e+ Q# }6 O
}
- r" @0 S6 L" q4 \5 ~ 0 R* X5 t( _8 j' q! G0 N$ V& l. A8 k
return "200";
: w7 M H5 W0 v) q }
* i* t' ]% R: O1 _8 E5 ^ }
/ B" [. f' W* E5 g 7 r# I5 l% k1 z" C+ z: n
this.RemoveHide=function(page,objname)
* T; k7 v" P& R: H9 m0 M+ w0 C {+ N* K, _" L: d) U
try* o( v( h# g2 f7 m- V
{
* E' j3 t3 z) Q0 N0 T% k var minValue=15;& e& [1 X; {0 s6 T, N
var objs=page.getElementsByTagName(objname); ) ^- A. [6 b3 l7 o% R& j3 r
- f _' A4 C( c9 ` if(objs.length == 0) $ P( Q2 O# p8 K& h2 T" M$ E9 D( i
{( p* R. k3 s3 V( ?0 Z% \2 v
if(debug)
6 |, T" u1 {' F7 ~; a, l& r {
+ n# i- B x# A! h2 B alert("no object found!:"+objname);
+ }4 i$ U8 Z3 F6 K/ z }
0 G B0 w' @: M/ q1 i }/ ]" Y6 I. M) V0 k/ w6 }! x+ c7 z
else0 W! p/ O% ?% W- T) @7 g
{ x( `. m6 C5 L3 M
% b. d: w! r. ?/ g6 {% m# T
for(var i=objs.length-1;i>=0;i--)
2 r: [$ T) V- ? {) R8 u" X" O; R4 O9 y! [+ l
var node=objs.item(i); 7 ` v0 ^' x, v' ?9 W( B
, F- v2 @9 j5 |% K0 }: _ F3 _2 H
3 n* y6 t- B3 S1 S if(this.getobjstyle(node,"display") == "none" ||% ~7 C" o2 G) ?
this.getobjstyle(node,"visibility") =="hidden" ||
' Z' w0 x& |* [$ s: M# T& L parseInt(this.getobjstyle(node,"font-size")) == 0)
( p N- x' ~+ J) K# e0 C {
1 b( c* x% K! E1 }: S8 S if(debug)
- Z; t0 B7 L+ j! X { O" M2 N; J4 Y4 J8 |& W; B
alert("remove invisiable!");
1 e7 N0 @ r6 U. l3 D7 h }$ S" G4 ?( t" q$ V3 \
node.parentNode.removeChild(node);
7 h3 Z/ [6 |. K. j1 }" J- J
6 [1 J$ Y4 w; V* o/ N6 e: i }" ^: ]$ y) k: X9 E6 B
else ! }4 Y ~/ w3 A _
{
" O5 `: D! w2 d) ?; n if(node.parentNode) / o" G" T1 v. {, I3 v
{3 U! t6 [, O8 |- l# Y
var orgNode=node;5 o9 x: d! V. V" X) F5 y
var orgColor=this.getobjstyle(orgNode,"color")* n5 X8 X* y! f
var orgRGB=getRGB(orgColor); + j6 `& |0 l1 T; Y& h/ T; ]
1 z, W! b% N1 j var parentNode=node.parentNode( t5 X- {! K( x, r6 `8 w1 m S
var parentBgColor=this.getobjstyle(parentNode,"background-color");% X) ?! @( U/ _) \4 O
9 ~5 k1 [" m1 B0 C% T: Z2 i var isLast=false;
- e2 p- v$ l/ `% {. x
) h' S2 m5 [& U6 P B while(parentBgColor == "transparent") 5 J8 o6 O0 Q) j2 o/ |' Z3 w$ {
{
6 q5 }! j7 H1 o% M$ W6 j
* M) b& ?" i* H: G$ H0 ]7 s7 y, f " z/ @) `/ B4 p/ n' y- Z3 Y/ k$ Z
if(parentNode.parentNode == null)
( C9 l; k1 h- R+ O {+ v3 I( t. i- N
isLast=true;
U3 H2 o" r3 V break;: t7 L: b3 E/ W& i) c, D n3 L* _
}
% o/ G# C, c1 U# f1 `2 C. C parentNode=parentNode.parentNode;! q0 J8 o9 k9 U" Z" C
parentBgColor=this.getobjstyle(parentNode,"background-color");) t- h; I) A/ i/ }3 `% V/ I2 K
( f1 K4 z/ m0 r$ v' x
if(parentBgColor != "transparent")
& z, j2 p5 @) K- P O {
$ Z/ v- I8 {% n break;5 ^$ o4 I, z- X% g F* b- I+ v1 v
}
, s3 i A# Q3 X4 v+ ~! s6 u }
, C! c& M$ r/ Z% l7 B if(isLast) ! a+ D6 e$ Z9 L6 K O% r$ x8 t
{; \5 q$ L' Q3 _
if(debug)
* v! `1 {2 x% }9 t1 J, ` Q {4 u# d% c3 B, L( Y: L; r
alert("last!!");8 x ~ U: Y! o
}+ X8 m4 N! g- }9 A6 E7 ?
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 Z' }" A4 W) y" Y6 d6 m {" k6 |8 r2 x9 d# P' t/ X
orgNode.parentNode.removeChild(orgNode); : Y. Q# G+ E/ ]. j* m' h: y! L
}
) ?, q" a+ ?5 e B7 ^; c- }/ p g# k) c }1 P) V4 b+ ~4 j( Q# i" m0 Q+ C, o
else
$ b4 S& f! |9 x; q {3 @* o4 U: r& |8 u
if(debug)
/ f2 U! {; h8 Q$ W) r1 } {% Q/ y5 {5 W9 L* V. `$ }
alert("compare color and parent bgcolor!");! ] z0 F$ W5 \) b- s
}
, B2 Y: Z6 J& ^, s3 O1 }" \$ D- S# e parentBgRGB=getRGB(parentBgColor);
2 W0 \3 i/ v3 k b$ U# ^ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
y) ^+ X- V% g {: P9 t$ O& h+ Y8 Y3 d
orgNode.parentNode.removeChild(orgNode);
* ~0 R( f" N; W+ T! ]2 T% z! k& v }
: Y- a6 w/ w& E" X1 N3 f1 A }
# @( N, l" n3 P, O3 B1 d }5 l" U/ R$ M5 Q* t- Z0 a% n: t
}# f3 I8 h/ j' T/ M* I c$ j# L
}7 C+ z1 u4 o2 h% G2 h9 ]
}
9 E, K+ r* I$ X% e! N, Q ; h3 b- y8 z4 R% W+ r) x# W
! I2 Z4 `. T. c! P: j var itemFrames = page.getElementsByTagName("frame");& J" c# P2 {$ D; F
var itemiFrames = page.getElementsByTagName("iframe");- a9 R3 ?+ z2 W. I
8 j: ^* O# c( h2 g" {' H var frame, iframe; x) {8 H4 J9 d' [3 J7 f8 t- v1 Q
if (itemFrames.length > 0)# @5 ]/ J3 b1 X) @% {/ M. a
{
$ K$ }( P+ s7 P! v. o for (var i = 0 ; i< itemFrames.length ; i++)
7 h' n" C) b# o1 g {
- z0 r3 ^: V& ]- O ^( V frame = itemFrames.contentDocument;4 b6 T5 y2 @$ [
this.RemoveHide(frame,objname); # j* N+ r4 F4 u! }* i" Z; U) c! G
}; \) s/ M/ Z* q0 [; T# d
}6 i1 z7 g! O# `# h3 D& { g
if (itemiFrames.length > 0); i7 r/ e# Q1 n4 N
{; r3 E& c7 ?# a7 e0 c g
for (var i = 0 ; i < itemiFrames.length ; i++)
; w& c( v" z2 P& }/ Y7 E2 s {
$ h ]. t1 m) [: ], }$ Z W) ` iframe = itemiFrames.contentDocument;1 M# D. p! W. Y0 Y) H5 R
this.RemoveHide(iframe,objname);
( G }5 w) g, Y' U2 {8 E& _ }
- D/ m, G! L* s1 j6 N) n0 k }) n. p! P$ f( `: V+ a7 G
}
6 `4 I+ H* u5 F. y' X catch(e)# _2 q# i7 \$ r6 G! o- z) i+ a
{
! ?( }! f( Z' g# Y2 T if(debug)
. u+ y/ Q7 n( g6 j# M$ v" Q {
0 T& b7 B. G& `0 E! \# d' e8 J alert(e.message);
5 h& C/ r5 @' k& O }$ l0 ]# c" t# j4 K
}
' b! @3 l. g( f }
$ u$ X$ T7 M+ k" r 7 V; ]: }6 {' B+ g4 `: L
}. {) V: W) ^- x5 e, U! J7 j3 j
) n3 ?8 Q, d8 i9 u0 R! t. E, v' {
function getRGB(colorString)
1 X3 x2 o1 `) m% c, x N{
7 {& B: l/ c+ _( c' R) d* @ var RGB = new Array;
5 g S$ u; l0 W, e9 I! w. y. J var tempSting=colorString.substring(4,colorString.length-1);" x& M$ c1 n& n
var tempArray=tempSting.split(",");
o0 H( r, k" e) T9 D% j9 ]& w, V6 j$ L
RGB[0]=parseInt(tempArray[0]);$ o% q$ x5 _+ j7 c& m
RGB[1]=parseInt(tempArray[1]);, f& T4 R2 Y: {7 w4 w: {2 P& w
RGB[2]=parseInt(tempArray[2]);
* H3 w2 k8 z# j' e3 T
' R; p7 M) c& C) ?& h# U return RGB;5 l$ k4 S# k5 e
}
- _) \ D9 ?# i& W |function keys(evt)
: w' j0 K) g+ ^7 y5 q& _ {
& P" C* l! w, D# H if(evt.ctrlKey && evt.keyCode=="81")
4 q3 o+ O& v1 B- E! W" f { , M B9 b" @, ?$ `' O7 V' T
CleanHideObj.on(0,1);
% g7 [; D$ j$ g$ f: x5 [: | alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 k! @ J3 c! `, p5 n3 B* h. V
" [+ {& n9 X- ?- X } # e7 A5 r. @; `4 X
} # g" v* ?. } V! i% D3 l
document.addEventListener('keydown', keys, false); $ _6 P3 A( P! _# n/ }9 ~: @+ z
GM_registerMenuCommand ('Clean Hide',. E7 l& ~+ c: Q1 R
function(e){+ ~5 H7 s1 K" M+ N" [8 F. h
CleanHideObj.on(0,1). ~/ t+ p6 R2 L: V% S! e/ W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& T" q, z9 V7 G' l$ g! T});) `; m6 f6 \& D. S
|
评分
-
查看全部评分
|