|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : s) L9 p2 x. C5 o1 o: z
2 I9 d# r4 L' b; b* }- J
火狐插件,用猴子
0 e/ n6 k7 M0 [& G. v
% C: u; p- A1 y G% c- nvar debug=false;
8 i, x0 h; K$ U$ K7 nvar CleanHideObj=new CleanHideClass();
4 I7 t! u4 g7 ^ G- k. I, h3 Z( B% U! G
function CleanHideClass() $ b; F8 A0 A/ O7 d) m
{ 5 u& W; D/ k0 v, |
* i* p" ^6 X$ e$ M* B
this.on=function(id,bMZ)5 t$ Y2 V& d3 |6 n/ Q9 Y/ G
{
% M. a0 a& F+ ]
2 @( z$ ~2 Z5 t+ |6 O( h# p if(id == 0)7 f* l+ j& W0 v \; j
{( l, V/ H& F( \# C$ I- w3 p
var page=/* document.getElementById("content").contentDocument */document;
. G! T9 e) b! }3 ]0 j6 k: S- j( m this.RemoveHide(page,"span");
f1 R, C4 m& N2 s, ` this.RemoveHide(page,"font");
) t1 x6 i& u# r" |, H this.RemoveHide(page,"div");
/ f# `, c8 G, l5 z this.RemoveHide(page,"p");
: h. s! ^* Q: k9 A4 g" \% g
1 a. d5 r+ Y0 O3 H* v }
# v0 ], Y7 l" ? + @- j, W" I. M) ?$ @/ f
}1 V+ K4 E S! B/ u: `
this.getobjstyle=function(node,prop)
, y' C) t6 q8 h7 o8 F {
6 M& q2 O# Y6 \ r: v7 x# p try
4 r, N; \: X1 F# O! { {6 N$ }+ p8 Z! e5 n) L
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: L' i/ | P; Y+ X1 A) }- [; K
}& ]& h9 j9 m y' x) D& {! f0 b/ s" g
catch(e), Y; A! y \+ c8 C' [
{/ ~$ b3 q& F+ b) z1 j, \5 x
if(debug). \: V: O" [' }1 R" I
{' m2 p, k: ?( w+ f/ h1 R7 E7 h5 G
alert(e.message);; y- b, C; _8 l% L. l, Z
}# l0 v! P8 V* L, \# |* S% I
" @$ a, ~+ c( E# h( ?4 l5 v return "200";% c8 w# n: ]; T- z/ B
}
! P' E, E7 L+ [. M+ b# n6 u }
; x6 g$ l6 ~2 k$ L3 [
2 U2 g) |5 m3 @3 n0 d. C this.RemoveHide=function(page,objname)7 T0 m6 p( n% ~: d
{
U; F; `1 o5 n0 {" P try/ l2 X' A$ [' j* {, e
{
t/ F& t$ W/ X2 v! l" K# b) e: s var minValue=15;9 D5 B0 ~, L5 m! ]3 v
var objs=page.getElementsByTagName(objname);
. d! m0 |* L4 z8 D: n' }
! y$ ~9 w6 @, i5 T if(objs.length == 0) ' t. g0 P$ m3 i. `9 u \
{5 N9 @* M. g7 K1 `3 h$ h
if(debug): @9 s @: p# T7 n1 F. b; c
{
( F, [* o2 E. F- U5 F alert("no object found!:"+objname);8 X0 }, ~. U5 d' W {
}+ a% b$ o8 B# t2 r4 A8 O) Y
}
* `( X7 l6 _' ^6 w; Y3 Z. ^ else
8 M$ o. z* o2 \7 q {
5 u* p- R( v! W: ~
6 @0 m/ V s# Q/ v for(var i=objs.length-1;i>=0;i--)
3 }$ H5 I0 ^3 @: |4 V {
, ?& t; y) F' H var node=objs.item(i);
7 J, Q$ F6 z, _ ) o8 u% f# t x
6 n3 O$ Y/ B' x, a8 U, ?" u
if(this.getobjstyle(node,"display") == "none" ||
3 W! d3 V: c5 F v6 f3 B9 ] this.getobjstyle(node,"visibility") =="hidden" ||$ c6 \6 o$ I( _& E
parseInt(this.getobjstyle(node,"font-size")) == 0) $ a% M; V! b1 y, y
{- Z- w8 D" H I9 k3 y$ [
if(debug)
0 V4 a' q8 V* l' N. F9 S {1 A" L9 L/ u5 \1 z5 Z2 e' N$ c
alert("remove invisiable!");
G: {. D+ N0 R% E8 j }- a N8 t1 k# C8 e% `
node.parentNode.removeChild(node);
6 ]; N; S( P( `. x6 p
( p; b+ h J/ ]. O: N }. V: y, j" z- \
else 1 l* Q0 E4 O1 Q! f( E
{6 B; p, v) S r
if(node.parentNode)
2 p# G# B/ Q# _; V& x9 h- o {) h, d7 `+ g, ~: V# `7 w
var orgNode=node;. {' {: ~, k6 n/ c3 j/ o
var orgColor=this.getobjstyle(orgNode,"color")
4 Q7 U0 A1 l- |4 l& O: C) D var orgRGB=getRGB(orgColor); & J2 _& P3 R, l" n' W& a$ y+ p
2 h Z5 s) E* H+ c( l3 L4 a$ F
var parentNode=node.parentNode, x* B: w8 p3 M r. f( \3 v
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( c3 w: s Y& ~' t2 |3 M( p
/ A; i0 s3 I6 w var isLast=false; A3 }2 ~' {8 H* F4 ~' f; M2 r
5 `0 {! F! G6 _
while(parentBgColor == "transparent")
+ t. i! S; |* W+ i q# k {
) y ? l2 w( L* r, I3 g, x$ E
4 B9 A/ d! ], L! l ' D5 }5 W. E: }1 }) x% a
if(parentNode.parentNode == null)
9 H% q# @2 U/ @! D& m {
# J$ X% E) t$ Q; v isLast=true;; k; M; X+ e' o( s0 D2 w6 [
break;
6 n1 I4 K2 [# B9 I! d8 h/ w) P }
& e4 x1 f L: x( p: V- G+ U8 j parentNode=parentNode.parentNode;# @' a% R8 A* i: @ b0 M
parentBgColor=this.getobjstyle(parentNode,"background-color");9 L! z0 ]5 Z1 W+ O" e# k8 c
) s# @2 q4 `9 |& d3 c9 w
if(parentBgColor != "transparent") / p$ A8 @$ z0 B1 o2 R; ?
{
8 y6 _9 Q% \/ n9 ~4 S- T h break;
: d4 c% I% F8 W }3 k/ M0 E$ l1 g! u
}! W5 r0 v( d; u
if(isLast)
- R0 u V1 ^: T- G8 r {
8 V2 ^3 s% r2 c2 ? if(debug)
2 p* L& _& y- @) y {& ^- K$ r' J: p- }7 ` x; v$ \
alert("last!!");' L6 J# x/ E. ~; @4 Y! e
}
2 U" d# }& e2 s! h% B if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 |2 @! ^) J* v) {6 k4 w& ~7 ?
{
W, c' s4 q" t# r" a1 @+ M; l orgNode.parentNode.removeChild(orgNode);
$ ]2 y6 z; ` r6 x# n; K }
) s% o7 f2 ]" Q/ u! H }! t8 |4 g, H# T ^+ h* {% S
else2 s ~8 ?4 o. w
{% x- s+ K& d, t' w6 a) R9 B. `
if(debug)
# o2 J( r/ E; p+ j5 _( t$ N1 ?# h {
, q: `$ N3 t; L% a+ ?3 j alert("compare color and parent bgcolor!");
! w; p" j) R& B3 n5 t7 h7 {: b8 `; P: E }8 a% p9 x/ x3 ]7 {8 |/ W7 F
parentBgRGB=getRGB(parentBgColor);
* T6 e+ {* [9 N) b, Y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 t; L9 y; W0 `& f. u% s
{/ J' w/ i. C n% h: i
orgNode.parentNode.removeChild(orgNode); / Q. i" f( Z6 S- w0 W9 b
}0 w/ H' w" p! h7 l2 G) ]
}
( @5 F* |+ f m1 V }) W: a& R3 d$ w5 g1 j) \1 ]; ^
}. R- k- N' X: k
}0 b3 K1 V# n+ ?9 s( z
}) z+ }5 [3 S- ^. m
, [6 b" @+ s( j' G C6 u
2 g+ G$ a9 j8 H
var itemFrames = page.getElementsByTagName("frame");2 n2 E; a# F* _ o
var itemiFrames = page.getElementsByTagName("iframe");: a, f: l5 s) j* U! C. \: c; T
- [3 m. n' f& R, Z
var frame, iframe;
1 x7 l* I/ k; Q1 l" ~+ V5 { if (itemFrames.length > 0)
0 |' W0 p; ]& ~/ b% \ {
4 ?4 G* }& a5 a( V2 R+ d for (var i = 0 ; i< itemFrames.length ; i++) " ]1 l; ^" \: m9 ]. |) }
{
a, L9 S. y# L0 j5 c/ e# P frame = itemFrames.contentDocument;9 J5 d' v2 _' C, X' A: i
this.RemoveHide(frame,objname); - h* t, @* `2 b6 w! R: d
}) G& L0 a6 O. C5 r; Y [' m
}
+ M+ g0 q! e. W% D" p+ w1 Y+ ^ if (itemiFrames.length > 0)$ _2 i/ a: |9 V$ T4 m
{
2 Q5 E) \ l' `2 t& v3 ] for (var i = 0 ; i < itemiFrames.length ; i++)
7 b4 L4 [+ Y8 w0 M {
! g' _/ Q8 z( \( W% F4 J3 v( k iframe = itemiFrames.contentDocument;' |/ c. F7 V" \3 Q5 @# i0 v/ T
this.RemoveHide(iframe,objname);
! v/ x& K+ h& g' F, r L' E& L }" |' w9 B6 y# A
}
2 c/ u! J3 i+ g# x5 P; L: Y }6 B+ d0 u. o( t7 I, P( S3 @( Q
catch(e)
7 |. W: ]+ v1 ~( u$ l {
4 [( g4 @( p, U if(debug)
* z7 L( T; u: _3 l% ~ {
5 s- U' D8 h4 a$ j alert(e.message);8 k- C. M) H( r9 _' g" P6 Y( G" n
}
) ?" @4 ~, Y, d) x }( m! a9 r% [6 I6 @) @
}( w' ~: N6 O4 ]$ b2 p0 g
! X5 e2 E* f" G
}
4 ^* c9 N4 i8 z2 P4 j' L$ @
. L- Z5 G6 f$ b0 X- zfunction getRGB(colorString)
! c4 W# }. \& b{
: U6 I' r# }$ Y1 L$ D% d var RGB = new Array;
) i4 z: K/ e4 D$ P4 o var tempSting=colorString.substring(4,colorString.length-1);9 } I9 L& h' L, v$ l
var tempArray=tempSting.split(",");/ U' J0 W5 Y, s- u N1 _/ l0 w8 N
G$ Q. a& N/ t RGB[0]=parseInt(tempArray[0]);9 Y& J! ~( g4 {) m. d
RGB[1]=parseInt(tempArray[1]);2 |6 a4 t' |. E$ G# v- W
RGB[2]=parseInt(tempArray[2]);
. G( S' S0 [# A% M# X% k! o * a3 p5 t( m7 G+ s! A+ x/ G
return RGB;6 d% q" m% n! }6 e8 ?
}& y' x; M/ R3 x( ] E- K" I; c9 d
function keys(evt)
' k# ^% q6 e4 t5 ~# K2 n { * x! c7 v- A& C8 ~6 D
if(evt.ctrlKey && evt.keyCode=="81") " X" A; \: q9 J
{ 5 {. N! b+ Z0 P, N& M6 y
CleanHideObj.on(0,1);( K4 b T+ P. H" l1 D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: |$ y$ ?# w5 @7 d 3 Z( y% F8 E% ]0 o" q Q% C2 d
} ( V' h+ e8 V; h
}
/ n" I9 b- F: }0 _: H; C Y2 h& Zdocument.addEventListener('keydown', keys, false); X$ f9 x+ E6 @ W* A0 p+ n
GM_registerMenuCommand ('Clean Hide',1 L" i+ D2 p" |5 Y9 x0 k l1 @) \7 ?5 k
function(e){1 Q9 l7 U4 \; l& D& ^ T9 f
CleanHideObj.on(0,1). m% `' m# q% v7 x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 N9 v! [* v7 m});
: M+ E. Z5 m# I6 Q' w |
评分
-
查看全部评分
|