|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % P3 n3 k/ a6 d# Q- {+ e I6 t9 t
- D& t1 W# v) p2 @) z' O; B: w
火狐插件,用猴子
" O1 O7 C) B/ ]7 N ?
5 x1 r( A7 y* n- G+ e2 cvar debug=false; ; b; w* |/ w! p0 M* @8 z7 F& C6 y
var CleanHideObj=new CleanHideClass();5 ^- Q! S0 n2 t- _
?' j/ D: _, ~8 b
function CleanHideClass() # O f: V( w1 T
{
; X+ f4 r4 B9 H& n9 K. q
+ M8 J0 z( b Q$ S( N8 X this.on=function(id,bMZ)- z+ W' J+ Q4 a7 ?5 L9 k+ l
{2 y* k/ o: P; D
& X6 z2 A0 F, W if(id == 0)
+ o7 z$ l8 l) r& [5 U4 l {. n1 e+ B9 {% N( o2 n, J, f$ |
var page=/* document.getElementById("content").contentDocument */document; ! Z7 t* g/ w+ z6 d6 |
this.RemoveHide(page,"span");
1 N* u( S8 H F. ]. H7 X* K/ g this.RemoveHide(page,"font");
! C# i7 S& j: L9 u% a: J+ l# O this.RemoveHide(page,"div");& ]" ^( P; `! L- ?8 F
this.RemoveHide(page,"p");0 a" N$ t+ {* l# P! N
# _0 v4 u6 |, x& T0 Z
}$ }) a! J6 V, L ?
, h* S/ G) q5 l3 `1 r( g. \* _ }
8 K! {+ M9 |$ p3 B8 i& Z this.getobjstyle=function(node,prop)" u5 L# q/ \1 e6 B9 w8 u
{
8 m* {6 l. r( `3 p7 X try
! m% N. u Y4 g: F! N2 h6 F {; R0 H; R# T \" `% R( I
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' I7 x% ` `3 S1 h% y' O. W$ L }& Q( Q# S+ _3 x; H
catch(e)
; A+ Z$ [! I6 G/ [0 I3 q {4 o/ }# G" x' y. Y0 y; I* G
if(debug)+ {7 }5 j( Z. m1 }- S
{* z9 K$ v Y! n( r2 I& p
alert(e.message);) N* i4 y o9 Z8 ~# ]
}0 `; v% x( z! m- f
6 Q( F9 @& I/ N" W: s return "200";
# E# _: \' Z. E2 |/ I. i- A }# J" w( v5 C ?0 f8 L9 a' B
}" K; U6 I6 u. o5 x* o
4 N" E" p' L; a! |! t) [ | this.RemoveHide=function(page,objname)7 i6 L. @+ d. j/ k$ s% g' l
{0 j. R4 q7 G0 F0 n
try
; v, e- V, Z2 B. ^ {4 s4 N5 a2 S8 q. P1 F
var minValue=15;
7 `" e& {' T2 }5 u+ k* F var objs=page.getElementsByTagName(objname); ; [7 x0 U2 t# R! [6 t% a. w# X
' K2 D# \5 S- Y; q( w2 Y6 @- C
if(objs.length == 0)
# s2 {7 F& u d! N' z {
: R2 C& ]2 z! X# M7 X if(debug)
) p, _2 _5 E& W2 @8 B {9 u0 _+ }% `- c7 X
alert("no object found!:"+objname);" k( X. c% e# R5 Y
}
4 R7 U% M, j V }
: s" c- R+ f/ m* P2 A else
, B7 Y; u: k# E$ m/ H. g4 L {
' g( k9 |- U, z5 [3 M ( P. [2 r/ e) J
for(var i=objs.length-1;i>=0;i--)
. L i0 o2 x. Q; ^3 I0 [0 v {6 p! _! p4 e; Z8 i
var node=objs.item(i); . ?4 W9 S$ K3 |6 I" \& A
- i' B* d2 a( |3 X; D# E3 o, F' u
" T' d; c. C, p if(this.getobjstyle(node,"display") == "none" ||. [- r1 u6 a1 j$ b6 J& z! _
this.getobjstyle(node,"visibility") =="hidden" ||
+ ~4 Y0 l2 o( Z parseInt(this.getobjstyle(node,"font-size")) == 0) 8 x* p$ p5 V8 k! A1 ~
{
5 o/ U4 F3 w' s; [. h/ l+ W if(debug)
' y* H& x. c/ m; F- _# l {
$ C/ r! e' K8 m alert("remove invisiable!");. ^8 I' W& Q. l/ f' i% ]
}6 s* g9 U% t% B
node.parentNode.removeChild(node);2 Z8 c$ ~3 x1 X- C$ E( r6 J
$ y9 J6 ^7 V* s) H
}5 @0 F0 `* P% Q2 r% q' o* C- A* u
else v5 g; v$ x( W [ \
{
; b* Y4 L5 \' V$ P- Y _ c if(node.parentNode) * I+ H4 ] ^8 Q9 C% g: b
{) W2 v% N) G& T% U, i+ g \; b
var orgNode=node; w" F2 J, x9 K1 Z; J7 ?' }# e
var orgColor=this.getobjstyle(orgNode,"color")
9 ^/ L! g u: L0 X9 i" k9 n var orgRGB=getRGB(orgColor); - Z0 X6 \' l# R; B2 R' C! _9 B
: \. X1 p5 A9 C P3 g4 \+ p var parentNode=node.parentNode( i5 o: j: X, K0 T: r; ?
var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 y, p7 f8 p7 J/ |1 X5 \+ n) _ ! b+ X* c8 O: T! V, e) l
var isLast=false;( b; v$ _0 ?- R$ y9 `1 }0 g% G0 p
# \$ [$ c1 u/ x0 z% ]
while(parentBgColor == "transparent") # E C7 @8 `9 D. G
{6 S8 T, p4 d( |8 w; n0 q
. L; R. W7 ~+ ]3 i5 E
( K/ F8 Q1 b, l+ r5 G if(parentNode.parentNode == null)
. |! h% I4 w; ]8 I$ I' }7 y {
5 e, A! L* @, o, s isLast=true;
- o5 O& t' s( d9 c, d# F/ S break;
3 U4 w( n, U% f }. L+ A0 Q1 A; B/ d1 q$ u& Z
parentNode=parentNode.parentNode;/ t& C* C1 G+ h/ Y. x. o
parentBgColor=this.getobjstyle(parentNode,"background-color");
' M; V6 E! R [6 _ N" N- a' M# F$ B" G9 I9 M( k, Z
if(parentBgColor != "transparent")
7 ]0 c6 F% z; O" U+ A5 Y- ~$ O6 n {
! ?/ E% w W9 i break;7 B, k- i0 u. h. d& v
}' e! s% X' [3 B% J( v# H
}
2 K* j4 y5 d4 w) o" U2 h/ c if(isLast) ) b; d0 S8 }) Q
{0 g$ ~( m0 B! w; |) p" `; j
if(debug)
: T) M6 b Q) U0 H+ s {8 [" l# g6 J+ f( F
alert("last!!");$ [! l2 `7 d& a/ P
}
( [7 ]/ ^9 T- {6 W: f9 Y if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& H: D; ?: C4 P' C7 n {
3 i6 u8 ?. m$ o4 z orgNode.parentNode.removeChild(orgNode); . U4 p) I" [) F$ Y3 ^. K
}
6 s9 }. n+ _4 Y% Q2 {- x: C }( o4 ~2 ~, P6 _! g2 w. B9 l
else$ z4 K- J9 |$ j# H! L! ~2 w
{6 b/ i' O: K1 E+ o7 j/ M/ ]/ V
if(debug)
. ~! e7 v9 d/ L- f8 I! G4 \& V+ l {& B) [2 L1 w* M" q+ C
alert("compare color and parent bgcolor!");
. [+ k% E' ?; |' ? \1 Z t8 N }1 J2 {8 _. z7 x: M( n& S1 |+ K- m1 W
parentBgRGB=getRGB(parentBgColor);* [6 \+ Z( ]4 ~: I3 n4 s
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' [5 j3 h0 n- w7 _3 r( e* n. S2 R/ P4 T& A {
5 t4 u! s3 c/ o" Q8 r orgNode.parentNode.removeChild(orgNode);
K. q) p, p/ N; g9 E! r4 A- z }3 t0 o1 {% _! t4 a1 e8 t
}* C% P+ O' Y) G! { j! Y* l* }2 z
}
, C, f6 i1 }3 k! B& j- k }; a; M l$ K/ ^$ d' Z
}
5 X9 W" t1 B2 z( V }* O+ x# ]: _- L. J1 v# d( D
/ q9 S; P4 h' U7 m c
2 ]7 C4 H" A$ v' b% {4 F( w var itemFrames = page.getElementsByTagName("frame");$ G) U$ E8 |6 b; j* C7 x" B
var itemiFrames = page.getElementsByTagName("iframe");$ p- p: K/ p$ v. `5 s
9 J5 I) O$ w8 I [. e; t4 f s4 p
var frame, iframe;
) l! B. r: m9 r5 ? if (itemFrames.length > 0)
! v* Z7 N* J+ U0 k R7 R1 s {. V0 {; k- K9 U% z1 ~' X ^
for (var i = 0 ; i< itemFrames.length ; i++)
) i9 x- w) ?! a0 t& m/ ?& Y/ z0 K {1 p! N# n9 Y6 z$ ? z
frame = itemFrames.contentDocument;$ z( _6 P- V% R
this.RemoveHide(frame,objname); . K; L+ C2 O$ I4 A x( O2 }
}3 m( E: V, E) } C
}' j0 i1 I3 {6 i( U" F6 U, v
if (itemiFrames.length > 0)8 M; c( B% g" ^* i! o' f3 i
{
$ X& o. p7 U. i for (var i = 0 ; i < itemiFrames.length ; i++)
+ S* o1 ^- Z! ]- j {& S) s# F7 k# w0 L0 h
iframe = itemiFrames.contentDocument;6 t/ O2 \* C0 ~1 Q! g* y" Q
this.RemoveHide(iframe,objname);
/ U3 f* \! Y. d" m, ^% N }' l/ d; Z0 c0 C3 }( O+ Y; z
}6 [7 V- P: f& i7 B0 ~! F
}
, `, y; M$ p" E. l3 i- A$ \ catch(e)
a' P4 |" m; l$ ~9 ` {
( q% Y: }4 F0 U5 Z if(debug)
* k$ _4 K% E- k$ {* } {
$ ]+ n3 y% \+ X. U' T2 C+ x( a alert(e.message); S% W0 Y" u7 B J: A7 j1 J
}
9 u; ], L- m" o% M }; \$ G& _2 H. x3 e
}
+ O. e% d8 h V; a, P. n, X
4 Y7 m) q; h6 a9 k6 a$ U# s/ |}
2 _+ ?4 ~- N) `4 E- b' ]" o" }7 d( M& C' z2 g* _
function getRGB(colorString) O; D5 ~' ~6 ?; d1 V
{
- m; _" h* g# ?; @! M var RGB = new Array;
8 g8 I/ y- @. s8 ^ `( p' X var tempSting=colorString.substring(4,colorString.length-1);
5 g2 J0 c( w" c( u var tempArray=tempSting.split(",");) |# P/ ~8 C" j* _: K. j9 W7 n
+ m! t$ N+ x1 w$ n! \! e
RGB[0]=parseInt(tempArray[0]);1 f7 G) n6 K5 x
RGB[1]=parseInt(tempArray[1]); _/ E, Z$ i3 U/ m' _% q5 J
RGB[2]=parseInt(tempArray[2]);3 [5 }) u; p. q0 R' d, z# Q
& u; ?" y9 U& O! e1 Z) _- |0 P
return RGB;
: q6 g, @; C3 U: b1 F! m" N$ C9 v}1 Z; M- @- J ~) Y
function keys(evt) 1 p% d: S( W9 z+ ]% v, f
{
1 U7 D7 u! y# p1 U1 S if(evt.ctrlKey && evt.keyCode=="81")
% y/ I) z4 E) V- j% J9 |" K {
1 L3 J4 \; Y" Q( F$ [ CleanHideObj.on(0,1);
# u b, R. D8 ] alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% X& i# Q& M0 U y. ^) E& |7 b : F x4 r0 o! W
}
8 G3 w& }% R7 S# d }
6 \: v3 H: n$ p6 c2 w: Ddocument.addEventListener('keydown', keys, false); 6 Q) s8 x' V! W: b+ |# _ l% h
GM_registerMenuCommand ('Clean Hide',- p% Q6 z3 E' `1 P
function(e){
0 W6 G! Q! U: u1 D. J2 N7 CCleanHideObj.on(0,1)
. C* n2 l$ Q& r+ R: halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");+ [+ ^ D) J; Z; _7 }5 D
});
4 A) B: J7 X# A% Z3 L4 o% Y1 | |
评分
-
查看全部评分
|