|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
# m- `( L# H. |9 G/ ?8 m3 T" i5 }2 s; B3 N3 Q" |
火狐插件,用猴子
& x9 E) ~) Y# y: B- ~5 ]& Y) f9 E w* m* b8 }9 O
var debug=false; # C% @2 d; J0 Z! ~6 |/ H
var CleanHideObj=new CleanHideClass();$ L% N, B$ I0 B
* x6 p ~( {% f% }
function CleanHideClass()
6 C, d8 y$ e# j7 b! U{
% V* W1 w/ X; F' ^* M# S + r0 [! `/ y: o" j- g+ s
this.on=function(id,bMZ)* m1 u1 u9 b7 P+ u- E$ S
{+ y6 M) w, o7 r9 A7 }
# U# z/ }! r3 K, N2 J2 V
if(id == 0)$ H- E- Y6 E. T: R) `8 G) U8 d( |# Q
{: @ Z/ C \. E; o5 Q+ M8 S, \# q
var page=/* document.getElementById("content").contentDocument */document; . G+ v( o3 a- E/ `& o* _2 j
this.RemoveHide(page,"span");
' H/ z9 g; y. M) v! R9 L this.RemoveHide(page,"font");
# |& n+ n6 E- T( \" ` this.RemoveHide(page,"div");
% s$ w& D5 e' C% ]8 V this.RemoveHide(page,"p");
$ o2 r% v) a% `1 Y
, P' ]. M H5 J+ i S, e, H }. b( N8 x0 v; |% Z6 l2 _
& k) L. M* \4 I5 Z: {& E }
' O( [" S" @0 a# b this.getobjstyle=function(node,prop)
& H( |0 ]" B) v; M1 O9 a( T {! b' i, ~6 j l: T M
try: B+ O' h9 ^$ U/ t% C
{% e, l) E6 E0 D' |, f
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' s# U4 ]& g/ q! a/ R* o, b& M! _ }: e |% `; E9 M4 x6 H) g
catch(e)
c; ~+ c8 O+ H0 p {
1 Z. u" T# ? j+ T. C6 q if(debug), |8 E$ j# v' M3 U m
{
3 a; l! s1 c' N R/ |5 Z) i0 N! Z' p alert(e.message);& ~7 L/ c- r/ M( O. Z
}! ~% \; E6 c8 e' _, R$ B- Z
+ }! v# ^! X, ^- J3 b+ J, r7 H5 i; I return "200";
9 A, z* n. T- I/ A1 o }
1 h! I6 E& Z5 K7 X; A }- H1 ~ b% C4 i8 N3 Z) g. E6 v
: I: F9 B+ L" y3 `# q this.RemoveHide=function(page,objname)' G1 P* f' e# @4 j/ h' m; v) V8 U
{
( ~& g/ c9 T/ ~+ T4 J1 O try
^& o' d( T2 {7 H! f {* O4 U6 y# M9 l8 d
var minValue=15;" Q2 V. W# ]1 n7 D
var objs=page.getElementsByTagName(objname);
$ [* D, b6 D2 Y: m2 v2 ?$ o5 T, [7 U0 i4 Y' i3 J: n
if(objs.length == 0) ' Q4 O7 n! z5 g$ [8 S
{
" d4 _" J/ W" d5 F7 ~2 h( C if(debug)$ ]& S8 N7 D7 j, w7 O
{
! g( Z' o# N! w( Q& U6 ^ alert("no object found!:"+objname);5 l4 N% Z" r6 w7 E5 m, K3 j
}
3 s: H/ W4 w; H }8 M( C( ~) Q& u) R9 O
else3 y7 e6 p& U2 K) P" X3 \. o
{, H" @9 n9 l3 g
4 X- { Q0 k0 d5 F3 U _! U
for(var i=objs.length-1;i>=0;i--)
. F1 _# y: u2 x5 H {
0 L8 f' |4 D% y; t- w' L4 J4 U$ a/ F var node=objs.item(i);
/ C3 ?6 k- E, U2 [
' A$ i* p6 {5 h) F" s
% S9 T$ p$ R5 I5 F3 Z+ l. @ if(this.getobjstyle(node,"display") == "none" ||% i3 i* Z& Y4 a& [
this.getobjstyle(node,"visibility") =="hidden" ||) L+ X- K6 \( Z. K( A( o5 C9 z& Y
parseInt(this.getobjstyle(node,"font-size")) == 0)
; a- N! q, i& V {9 N6 J% l0 w% l" X2 J7 m. [/ _8 H
if(debug)+ l# b7 m. G) e/ T7 J
{
1 k( T' L% l% p5 O, r* Q5 O) r alert("remove invisiable!");' Z3 Q. i; D5 q- j
}3 E% X/ _2 @* q4 w Y' m3 u( v
node.parentNode.removeChild(node);
+ e, ?8 v+ G f( ^# v
2 f, E/ c( y9 D }: v |0 I9 {1 E6 j) M
else ; o) G- E7 |1 n+ K3 V
{
4 g" Y) m+ t7 Q$ b3 t0 o& z if(node.parentNode)
7 i4 Y4 T% y1 @1 c {
0 \& V0 b/ a; {- U0 p1 c5 a var orgNode=node;
* ]8 W4 k# I4 {- t1 S8 l3 P3 ?% v var orgColor=this.getobjstyle(orgNode,"color")1 V! I/ m7 w/ [1 w
var orgRGB=getRGB(orgColor); 7 Z8 S) Y* m- X
7 J' n- G+ M4 t% `/ F3 L3 c
var parentNode=node.parentNode5 Q3 B1 l9 h5 b6 k5 m) n" `
var parentBgColor=this.getobjstyle(parentNode,"background-color");
- W! ]( D- I. R, u% d5 `
/ L! [( l% g/ }8 o var isLast=false;
2 l/ t. w! y) l$ |% ]6 c + C! O: r3 N1 T6 M) ~: q
while(parentBgColor == "transparent") ( M. r9 S1 @4 W+ y$ `
{
9 y! g) z# k7 W" g+ S& |: E 1 ^7 F- B! q; ^+ N+ b
7 u- E$ e6 l* {1 B: y0 [3 A' h- E if(parentNode.parentNode == null)) i% s7 X( C: e# ]. i. }5 J$ Q
{' q( K( s# w* D6 ]8 N/ e; y
isLast=true;/ S& W$ Q& I* B
break;
- ^5 c, A* I- N+ S0 f( v }
' R& ^6 V. d8 ^( _2 S- Z } parentNode=parentNode.parentNode;
8 O c& l+ E# n. A! y6 e parentBgColor=this.getobjstyle(parentNode,"background-color");
, d6 `3 @6 |* P8 w- r
, A h+ Z% g# T if(parentBgColor != "transparent")
5 X" o4 @. W/ ^ {
) I6 \+ b* v: J' K) g/ i break;
- n1 P% G: z: B9 A& y }3 M0 i( e: R% {! B* d2 B( G8 ^
}
7 m& [- [. ^; N" S" D) j4 G B if(isLast)
( W8 Q1 |9 y4 }2 ~ {
' a6 t: w0 _+ H+ F6 Y6 ?" g8 _# m+ B if(debug)
& g' N0 m' K# d$ j% |" n {
& @; Y! F. h& a x. C( p. j; l alert("last!!");* i( n3 n4 Y1 z+ L6 X
}9 ~& E( u# S- J( z6 @+ z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)). g! F# J" Y: W9 H9 d9 {6 Q
{
& h$ Z4 ~/ f- }: H+ y* y! M1 u& t orgNode.parentNode.removeChild(orgNode);
; T J# D ^8 v7 ?; ] }% A# @# e! Y! k2 P
}
# j) N4 r2 R2 c4 Y/ U4 Q. v4 ? else
- _' Q$ K% b: N9 M+ F/ l {8 w1 _; T. J9 A( n9 S n, T
if(debug)
8 Q$ }& w2 U& U7 o4 S% y1 I {
8 \: J) O; m8 W. b8 N q alert("compare color and parent bgcolor!");" V- U/ ^; l5 T% ]. z0 k, }: e; Y
}4 i+ M- o% y) l; H
parentBgRGB=getRGB(parentBgColor);- f* m# M% O2 _) h
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# [! l* r S G+ I
{" @" k" s1 n' |0 |4 v; p( c
orgNode.parentNode.removeChild(orgNode); : o5 L v0 U4 V. e% x$ J: _! x
}, F" X! F7 x6 Q) N1 R5 o
}
' t. Z6 C6 [7 J% P; x }, F4 p! x4 u$ _0 O/ g! k/ F
}0 B* v1 J$ P5 C: {0 ^3 N1 X
}$ S3 i% H' m+ s6 B' \* Y6 b
}2 e7 h; [" u2 i3 x+ J* E
* I2 S6 C! W* m2 c6 F. s( C" d" ?
( ] @; h9 Y% ^ var itemFrames = page.getElementsByTagName("frame");" q' d f, U, t
var itemiFrames = page.getElementsByTagName("iframe");
7 y* w$ {7 g# H! P
+ H; a8 L. Z$ V, d var frame, iframe;$ I! m) a* L+ |4 ~3 f, Q& B
if (itemFrames.length > 0)
, k7 L( K7 H7 M; Q {/ V4 f e! t; O. N4 Y$ v
for (var i = 0 ; i< itemFrames.length ; i++)
/ t g. n: c5 ^. M* D {
! d2 N& y+ [: D( J2 p frame = itemFrames.contentDocument;
9 o, j* Z2 `" A1 \ this.RemoveHide(frame,objname);
. H. c: Z' F9 x% e9 a! y+ ? }
; Z( J/ c; E" p: X! f/ ~ }2 P/ Y9 v6 {& ^$ t( d
if (itemiFrames.length > 0)6 e* E0 C- P. J7 Q( ^! _8 G
{( y/ o, \# R: ]- ^ E
for (var i = 0 ; i < itemiFrames.length ; i++) # Z5 n+ E) |' ^: z( y/ e) m; e7 C+ L9 v
{4 g/ z% H H& z
iframe = itemiFrames.contentDocument;6 @& g9 |. `4 Z1 l& z
this.RemoveHide(iframe,objname);
& x0 a. V H/ U }
}- w/ @) y4 W% f3 w }
1 G& `' ?7 o3 P9 y& C }
- \. ?5 d4 ]& j9 d o4 T catch(e)" @6 f/ e& l7 {- x; D% N
{: f% M( w( g5 b- x6 u' m( _
if(debug)) N' K# t/ d; g" S+ n
{* P, }: j _9 y7 O
alert(e.message);
% j4 k4 \; \5 r u }: v0 ^) I/ ?% i; h. n
}8 P. R: n9 [9 v! P: A' X
}' Y5 S, | E; v
+ Q8 c9 \; W: B) D7 Q# H% Q0 z}
% a& Y; H6 G& t/ h5 t4 r
7 ^; t/ x& _# b/ m. t1 F, k' Zfunction getRGB(colorString); {& K$ k1 ^( R. q
{0 b7 s5 G6 B% l. S! V1 }
var RGB = new Array;0 \' x) t3 _9 G& J8 X6 P7 y2 y( c
var tempSting=colorString.substring(4,colorString.length-1);( c* H! r7 R3 @! R# Y6 f
var tempArray=tempSting.split(",");6 t4 \( R) {+ W1 E5 ~. r
) I% O( S' ~7 q. n
RGB[0]=parseInt(tempArray[0]);6 |4 }9 M7 r) a
RGB[1]=parseInt(tempArray[1]);
# O% d1 c9 R8 `2 p6 K5 }' X1 } RGB[2]=parseInt(tempArray[2]);7 `! ]( |; \/ i* m! A" W
3 p X$ K2 i. T& P0 E' _ return RGB;
! \6 u' A9 m2 A H: Q}1 N$ k+ ]+ y( S7 }, L2 ?5 S
function keys(evt)
1 C9 u+ Z5 p" z5 D { 0 {2 R8 ~3 I+ W- |. I
if(evt.ctrlKey && evt.keyCode=="81")
; E# G0 Y* M, Z {
1 V' l6 r( C; H5 Y4 \1 N CleanHideObj.on(0,1);% ^- o' y$ E3 w2 E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 u/ I8 M ? H ) z5 E3 K( L6 [/ v W* b- T- F, V
} * g, x% `% P) S0 F E9 n z
}
# O$ T8 C! ?2 W$ P6 f) j/ Gdocument.addEventListener('keydown', keys, false); & [1 n( X9 n% e5 f; s ^
GM_registerMenuCommand ('Clean Hide', C8 k7 `+ X! {7 }/ V$ g7 ?& t
function(e){
, K: G% O! F: oCleanHideObj.on(0,1)
6 U8 E' h1 K# o! w1 i# ] Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 d. U6 k3 y: i, b
});
+ `5 c5 u3 ~4 G; }4 ]/ {/ U* F* h |
评分
-
查看全部评分
|