|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / \* _5 R( Q+ S4 u4 ]% n
* C0 K0 @2 Y @: D4 P% m2 Z S
火狐插件,用猴子
+ A% ^+ {1 Y7 |
& s+ E- k: f0 G# L2 ~6 X" i& }var debug=false; # r( T9 O8 ]# r% E7 c3 E+ [# U$ _5 y
var CleanHideObj=new CleanHideClass();$ q4 M/ H: `& a1 x
1 F4 }/ o. z6 L
function CleanHideClass()
2 V+ b; V$ a( p, c6 W0 Y{ 3 p2 n$ d4 W6 v& P4 U; W
6 u7 v4 x+ u& Z, b9 R" T
this.on=function(id,bMZ)
6 X. `% g0 t) ^, ~2 y$ y9 [7 L {
! ~! g+ T7 K; @7 M9 m' X5 |: a5 I
! L' x# y$ m5 t: l* N if(id == 0)
5 M9 r: k: H$ O {
+ D, G, B& Q% ~3 f9 M var page=/* document.getElementById("content").contentDocument */document; 1 Y; Z5 t! n$ X! ^- ^3 {, |2 u7 J
this.RemoveHide(page,"span");
2 A/ T# V; N9 |! [7 W2 ~/ b this.RemoveHide(page,"font");
+ s s9 ~# `3 ^: @& ]' W this.RemoveHide(page,"div");; P, m$ V a- Q
this.RemoveHide(page,"p");
+ w8 X. _% Y0 \9 ` R: Q) Y M9 t& Y) Q $ O0 t( X. U* i* ]% v9 ^. P9 w1 w
}
( g$ t; ~1 V/ ^& h$ }
' z+ |. W: i% I! n }
! ~9 O$ x o/ g" a this.getobjstyle=function(node,prop). l1 Y# }% y7 p
{
+ a6 ~ C2 O3 A* [- Y9 C try
, U4 V2 D: I3 k {9 o! Y& e7 U- j! D9 P3 A/ A
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( b, l* o* z2 V# R/ s9 ?0 }* k }( `) `) X0 u) r' A7 o) T# i* x
catch(e)
, L* y$ ~6 k% C) G' C {
+ F. R1 `4 t. y1 `/ o" X' d! V* M if(debug)3 Q7 V$ }6 s6 ^5 A* F7 |% }
{
+ Y5 g+ F2 U/ I9 d9 _9 X# W' D alert(e.message);
! a8 o; s7 |; M" h& n }
6 Z# l0 q" o6 h3 Z
5 e F+ m7 Z7 A5 X return "200";
7 f9 W. t4 Z- g; A" C1 L, D }
# T% h1 A# g' r5 ]' t2 b4 `9 | }+ D$ X3 x0 S. O; E, ]$ N
3 L' F- o& ^. `2 u1 T# ]2 N this.RemoveHide=function(page,objname)) f6 ~. H; {. l# G' Y7 f& R& O- C
{
2 P+ Q% K. ] [+ J' N5 b V* b try
$ n# W. c4 M" Y5 \1 }0 o {- [( h0 w4 Z$ j$ w
var minValue=15;. n8 X0 X, o: v3 U. L& l5 b
var objs=page.getElementsByTagName(objname); / {0 M& t' o; U
3 t8 V( w* v! u) b* i* [9 v
if(objs.length == 0)
7 `' A0 x/ q, `/ m4 m" G* \ {
+ R+ T* ]9 z0 ], K/ U if(debug)! d% R; L- U( V
{2 C0 I; F* R; x
alert("no object found!:"+objname);4 \6 c) g; A& J! k/ a
}4 |6 @! E4 N/ _9 I) b) n
}
4 l) q0 {: ^! {6 c+ M else8 d3 I& }$ }# t4 C+ u# F
{# w4 k8 d" Z1 I9 Q' ?
- G$ K0 s' }, G8 x P; m; B- a
for(var i=objs.length-1;i>=0;i--)
% m! i' b/ b" M {
, b6 i# P2 E3 |4 s var node=objs.item(i); : v, y3 v$ |6 q. L$ ]8 v% P& t
" W. f" @+ L; d# _8 j: S1 d# {3 H+ w5 e) ^
! g0 l* ^: f# P% ]; Z1 f if(this.getobjstyle(node,"display") == "none" ||* }! a4 x7 l& ~$ ?
this.getobjstyle(node,"visibility") =="hidden" ||! y+ @1 B2 W: F0 G0 i
parseInt(this.getobjstyle(node,"font-size")) == 0)
/ k, z9 W6 A4 q) u9 a {/ s% M: n# ~) B, J1 u
if(debug)) ~, r8 k) s& f7 p+ N# ]
{7 ?, p! w |( t4 ?6 i
alert("remove invisiable!");; z! B% M- q2 v# O
}
8 r% z7 O# P% { node.parentNode.removeChild(node);2 l# B7 N/ V* B" V2 N: L, R; h
( N) y M5 v; N' i1 u0 s! S0 E }
0 ]9 `7 @8 p" u) e else ! l: k, w1 N% ~ `6 K
{' M( A- h7 ]7 ]- A `1 E x j
if(node.parentNode) ( p' d5 `+ G5 r8 W1 f" K
{" X1 r% j) ~8 \6 M2 y/ r. J
var orgNode=node;
/ Y# B1 B) R( u/ J8 G. [& t9 w var orgColor=this.getobjstyle(orgNode,"color")( D1 _' l" |' S) P2 d+ c
var orgRGB=getRGB(orgColor); * Z% |3 U$ [+ T9 S; t* M% a
% p, h ^- m3 l# r! `+ ]
var parentNode=node.parentNode
$ m( n% z0 T; U2 X% u var parentBgColor=this.getobjstyle(parentNode,"background-color");
, R/ T2 I A+ M5 c
; N# h# r5 {1 t" ^& n4 C var isLast=false;
8 J' `$ H# U5 R( `; I( G4 ^; X+ ?8 H
C% F: d0 B) M3 C while(parentBgColor == "transparent")
- H: v; e& A* N+ O& q* C$ @ {
! C9 _, a- s! X, n. i8 t
; U( D) d. V& W& A+ _
4 R: W7 h& U" r9 l if(parentNode.parentNode == null)
. I U5 N; F8 S7 b8 e0 { {
. g: j+ X+ o: N. V" V7 n$ w isLast=true;: q3 a0 O6 ~1 V( l0 p
break;
1 j) p( L4 g- \$ K$ U9 _% [$ D }* F2 x2 x7 x7 X9 p. N1 |. W& [! I
parentNode=parentNode.parentNode;
% y$ i8 }/ J% E, E* ]; X0 {* F parentBgColor=this.getobjstyle(parentNode,"background-color");. A) x. v, |& O! l
$ K. i0 L3 l1 T- x- t if(parentBgColor != "transparent") }; @7 a* l/ Q* x+ R# x
{
* |* D4 n: ~7 S' J0 E# J break;
& q; F0 D/ l5 ^1 Z! T1 @ }
+ b+ ^3 i3 _4 | }, W/ X6 a4 S0 G4 g
if(isLast) ' a9 W4 y7 }6 n7 W( A& M6 ]! p( {2 k4 O
{
9 f( u3 ]' @7 E! z) ^/ f2 Y if(debug)0 I V9 ~* l" d0 `# P( o' @* Q
{& x0 E. P7 Y8 V( O: `- e. G/ q$ Z
alert("last!!");
9 e7 @3 l+ _8 e* o6 h+ K }' C/ j$ u) |1 q O( _1 A" f2 i
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
# O, O( V; r& ~/ w7 m3 v; U {9 T" {# \* |1 M" b% {
orgNode.parentNode.removeChild(orgNode);
3 G+ {, H3 r' O7 y2 F }9 K( Z" y2 l2 M( C# h8 h
}
7 u! v! ?4 R7 c% \2 P3 F else
9 o) J# g# Z0 n$ g {
$ V4 H8 F4 V9 u v# G s" p if(debug)6 c3 U$ R3 m' i% D9 I
{
) }+ u( ~; ~( r v0 E1 h alert("compare color and parent bgcolor!");% |5 c/ o5 k% |$ A% d& l
}3 H9 f, u, e) Y9 q& W* A
parentBgRGB=getRGB(parentBgColor);8 e i+ B) }8 r# e9 Z: F
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), E" L7 ^: } q
{& Z4 p) e% e, d* ^) h
orgNode.parentNode.removeChild(orgNode); : b" z& F9 F! v( l X
}7 s: `% W' i4 D2 [2 R' l$ @
}5 e% M2 u# P5 i" d; z
}0 Q+ V: c7 l$ }* ~0 J- X! ^1 Q4 C
}+ n# p' v) u' S0 |, R2 H" A
}
- ]+ j3 R" F; q- j2 p) [/ J' P }% ^) O6 R2 a* \/ w
1 r9 K, _! {' {' _ + G1 z& y2 s! U
var itemFrames = page.getElementsByTagName("frame");0 H+ u9 d8 t% r H- t6 }% Y
var itemiFrames = page.getElementsByTagName("iframe");
" X' c8 y$ M i N$ o
' ^. w! c+ K% K9 y* F/ B' X var frame, iframe;3 ^+ ]9 T+ F: e* T
if (itemFrames.length > 0)
. h5 Q7 L4 e/ Z! [/ y- f {
$ c2 B+ ^$ g- `& n& M+ ]# q |( E3 R0 e6 I for (var i = 0 ; i< itemFrames.length ; i++)
; S1 I0 p* ^( ^! }, z7 l+ i' G9 B) f; A {
" c- g& r0 q! n8 y2 A2 ^ frame = itemFrames.contentDocument;
( U3 N1 M2 H# T5 g" v( p% c this.RemoveHide(frame,objname);
* ~: o( d6 ?, \: T1 J3 U }
: C0 W' @% o. X* v% t }( c5 T& M1 x$ n0 Z8 W
if (itemiFrames.length > 0)
/ m% W9 p5 ~4 B9 n" a {
2 p, u" u7 s Q Y1 V% O for (var i = 0 ; i < itemiFrames.length ; i++) ) G5 g" u; E' a7 i% @0 |/ R* l X
{
& p8 m( n- R; M iframe = itemiFrames.contentDocument;
7 n! A5 A: \$ n9 k* Q5 Q5 T this.RemoveHide(iframe,objname); / I4 k' I3 v v. e) V; i
}
( d4 G6 b0 h7 t- x }$ Q4 {0 b; v+ y
}: k- M, G$ z- A5 D0 W3 R
catch(e)
6 e5 k/ a; J( B {
3 P, g0 \) E* @ C( } if(debug)
5 y L4 s! R" x {
3 Z0 |% M8 r7 I( t alert(e.message);
, d4 k, K5 y) Y# r9 W$ [+ k }* C* P, Y- ~3 j! r
}- I5 G K) d9 g3 V
}" H3 R( c: Y# ?; U( q; X- C
# j, s- j6 q9 p- x% f5 K
}
! P. G" m- p; l, a1 z
; E/ P k) I: H4 hfunction getRGB(colorString)8 X/ X4 ]) Z+ b( ~
{
' G0 D8 w4 Q3 R3 x1 u var RGB = new Array;$ M# K# G6 i( l4 |
var tempSting=colorString.substring(4,colorString.length-1);
* R& J3 q8 `( h# ?( i+ E var tempArray=tempSting.split(",");5 j- u, Z, d) {2 u5 U; v
* J8 j2 u' A! C' g2 E% N RGB[0]=parseInt(tempArray[0]);
# w9 Z5 N( P; W) F" t! x RGB[1]=parseInt(tempArray[1]);
- Z$ w* l7 L, a! l* S RGB[2]=parseInt(tempArray[2]);! {/ s# h: Y3 _. A" R3 ~1 b( ]
" V% r+ Z" l/ { c& A$ g* w" Z9 }! c
return RGB;
& Q! ^: p9 J0 V, w( a5 u}
7 E( |) D1 G, w# c5 P, y, @function keys(evt)
' ]6 D6 N1 d* H, y1 _2 g { ) P( }: ]- R' y8 F9 P
if(evt.ctrlKey && evt.keyCode=="81") K! r$ Q3 Y5 w: E5 G! c" }' }
{ 2 u! \3 c3 p0 \* k8 Q2 \
CleanHideObj.on(0,1);
; t/ |) N2 C( H. n$ @+ C alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 2 C7 M5 z" r9 |/ w) V1 w5 ~5 S
, X* p* I7 K( }% `) |8 l
}
: ~1 X! R; k& M3 S1 x1 }( ?$ G }
+ `6 j$ e5 w8 {( J, Q. y8 |% Adocument.addEventListener('keydown', keys, false); 4 P* r9 G+ k" y# s/ w4 p4 W
GM_registerMenuCommand ('Clean Hide',: Y! l% S4 J( ~
function(e){. b# f! `+ W4 B: ]. n s
CleanHideObj.on(0,1)
3 T0 g' ~% J, n/ palert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 h! J3 b! ^! D- N4 _+ ~( H});, s2 Z# t9 B( c, X* K @9 c/ x5 Z
|
评分
-
查看全部评分
|