|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / v0 @) [% w2 x; C" m
# K+ u% R+ x$ _# ]
火狐插件,用猴子6 D: C+ ~3 n" ~2 ~
! T! @* ~; ]- E4 t- V% G/ i2 t
var debug=false; # ]$ P* E% k- i" P7 k
var CleanHideObj=new CleanHideClass();+ k) d1 g$ ^1 u7 Q6 P' Y, E2 X
7 T$ \- Z- r& E) U/ u# ?function CleanHideClass()
- i: u, f$ I# n1 ]6 p+ ? l+ k{
0 {2 x' i, m. P
: n8 e4 B- _ w# Z+ N this.on=function(id,bMZ)
5 Y; \ V- V( {- J8 P8 g% W {
( `/ z( e- F0 a1 ?% f& C! ?2 H % o2 J* x3 z6 h" O! m @5 I* N
if(id == 0)2 z# v4 O* ~1 t* v
{
& M$ C, T% \( n' a var page=/* document.getElementById("content").contentDocument */document;
4 T6 W8 U( l1 `9 {" ]) B this.RemoveHide(page,"span");
* E0 P' ]5 Z5 n& Q% i7 A this.RemoveHide(page,"font");, W; Q, d E3 {7 p
this.RemoveHide(page,"div");
2 W/ B. o2 }; l. l this.RemoveHide(page,"p");% F9 Q5 t( s! k# a" Q
* [& e' f4 I% a$ B2 h }7 h- U* J! }3 G: f# V
, c6 _& j* ` F9 h! w8 H- M }" U+ B7 K- L: Z3 y/ G; E
this.getobjstyle=function(node,prop)( N! b2 K' F& O
{
$ s! B$ p4 N& F' |/ [/ R: D6 ] try' Q( R: B3 _0 r. b5 w) P! J8 K# t$ n
{
; P7 j2 V, X/ i$ W: Q" p# t4 } return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- [3 i6 A6 M! i3 \/ m Q4 q/ R }
" x! B) h' I4 S catch(e)
7 _( n- W& _& D4 J {
0 a" ~4 |2 X' E" R) {9 R if(debug)
5 {5 B( [. m% {0 m& B7 T' }- o {/ T; r; I+ V, L1 }2 @& f+ l% l( A
alert(e.message);
2 M; f% D& g) o* x4 ~+ z6 o }' Q" n- M4 I! {% P
3 e2 C k5 e4 z2 G, t- h
return "200";- J2 t2 K$ n* X
}( T$ D3 d3 c' H) W0 Z+ l4 E
}( Z) v5 f% c+ x; O+ T
) X' y$ _( a( g: @ t; x' ^* l* G! X0 J
this.RemoveHide=function(page,objname)' [0 {2 Y3 Y3 H6 N3 g! V- T
{
1 e6 M5 X7 X% v( R' Z- r9 Q! h: ` try
7 C# Q9 E i/ J) ^ P5 b! k {5 } p+ G2 `+ H/ R# F: V
var minValue=15;
' K& E, T; i+ ~4 R# U var objs=page.getElementsByTagName(objname);
" o/ ~( l s# Y5 F( H& y! N
, k% _+ T$ ]2 S4 w* A+ M5 M if(objs.length == 0)
% `8 ^9 v/ t2 p7 w' N% x {
+ R8 g F" V6 W if(debug), g/ E0 F! a1 F! e
{" J# f9 b) V# M- M6 m3 P
alert("no object found!:"+objname);$ ]4 u( S9 k$ x8 d5 z0 ?
}
: \$ Z! o! v' U M' r# B' s6 l }
5 h% h2 w7 O' U! W$ M2 d" u2 k else; n. G# n7 p7 r' w& S
{8 F7 j9 U6 G E4 \5 t) ~, b
$ l! d1 v; l) ]
for(var i=objs.length-1;i>=0;i--)
. m) v! W2 }' n" _0 o" u {
3 h) y( T b& O! ~% k var node=objs.item(i);
+ x* l- q+ H+ X8 ^6 u( y2 l
, z# A7 y3 }$ r2 O; { ! @- ] |2 }) T
if(this.getobjstyle(node,"display") == "none" ||
2 p3 I5 F! x/ X( I8 ?& f this.getobjstyle(node,"visibility") =="hidden" ||
; a; T( d! a$ s/ ^: P+ x. D' P parseInt(this.getobjstyle(node,"font-size")) == 0)
. M- s% Q M/ M J8 Z2 R5 M {8 k, k2 ]( V2 f! ~ b
if(debug)6 r7 _! h1 u, R7 P9 e4 R6 w
{
@) I P- d3 {: K4 C# B0 a alert("remove invisiable!");
! ?) m o8 h0 B6 m) ? }! b# S1 g) j4 {
node.parentNode.removeChild(node);
" t9 I5 j" F9 l
+ v' v* L9 O6 E8 ? I/ T }
) {8 I4 o% F4 `5 s5 @+ Q# i2 M d else . H9 T. ~3 K' U* A$ Y( D
{
0 S. g. Y8 @8 j7 Z3 E! E if(node.parentNode)
$ |% Z- b9 W6 e! {+ o4 {1 q6 X4 I {; j$ C' G" ^ V; o
var orgNode=node;* W# t; o' m& T& z
var orgColor=this.getobjstyle(orgNode,"color")- f, {; d6 _7 v: y7 C
var orgRGB=getRGB(orgColor); 2 ? Q$ L6 e4 p4 ^6 a* i! t
' z ?% K* p8 H3 u% _( L% I var parentNode=node.parentNode! K' ^- j0 i/ ]2 ?) y! D9 i
var parentBgColor=this.getobjstyle(parentNode,"background-color");1 b9 \7 m% ?$ O9 n( N
4 [. n: `2 m- U2 j8 O( m3 A var isLast=false;
. u6 e% A( g( Q/ y2 f
4 h9 ^$ O, A7 e while(parentBgColor == "transparent") 0 e& I' w; [0 z/ O& `) N2 W" v
{- D& i4 g$ l" I, J* d* M8 A" ?. U u3 x
& m- ^: |) y7 \5 H' g+ T9 L 1 L# m: R6 X/ e+ l: O" P" u' M
if(parentNode.parentNode == null)4 w0 \3 t/ s% L8 R1 N
{
! y, S' S* D- f: } isLast=true;; o8 G, P8 u7 H/ X* v
break;7 Z! E3 v- a/ H* r0 n
}
8 m9 g$ E! n) O- A9 b1 ]% w parentNode=parentNode.parentNode;1 F# E& }! C2 R( R1 i' r
parentBgColor=this.getobjstyle(parentNode,"background-color");0 k4 i6 Y+ M" a& e/ ^, o, S, @! w
4 l5 R; W1 I, u* j- N6 p
if(parentBgColor != "transparent")
3 ?! ]6 a3 \$ f {
# a" c) M) Z( ^1 u! `) I+ p1 z break;
0 \& C4 d) ?2 l5 w/ k% \ }! j1 N5 V3 o [3 b; @$ u
}
; y2 T" a7 Y/ a$ n: |" @0 Q if(isLast)
6 T- w: V6 t5 x {
2 _+ ?; Y* |4 t if(debug)# ]/ f/ a: c' v, W! R4 `9 p
{
/ E% a6 J0 D- n* i alert("last!!");4 F1 d$ l. k& H9 n
}0 p* ]/ B. }; N8 `& L
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" @* V7 ~# @( P% w* [
{% e) y- {5 }* |4 b
orgNode.parentNode.removeChild(orgNode);
! x' S: V1 u, \( Q: e } u- E2 v& V' S1 H
}$ u; s) ]3 f( b2 I9 V
else
3 x' \$ g# v/ B) R1 D {9 j2 l4 |$ f) t$ k. ^3 _/ P
if(debug)4 J3 ^- K8 W1 n' h* ~. B. z* [* c
{9 y) ~0 m2 u6 F' Y# U8 X
alert("compare color and parent bgcolor!");$ B, `. G) U, K0 ]0 m' [ f9 r
}5 X6 D) u8 S7 p: j8 ^* g
parentBgRGB=getRGB(parentBgColor);) ~5 F0 {/ D' ]4 ~1 j7 \! @' I
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) z: P# p2 y- z' f" _" U {
! L$ O+ C( R4 X& A orgNode.parentNode.removeChild(orgNode);
~. I9 O3 b, I$ o3 z0 } }0 t# N+ G( g/ Q% p$ v6 [. K' n3 d
}
7 E3 U3 l' c% o }* a* @- _* J& Z7 c1 }0 {" H( E
}5 \5 C, O1 O. d2 J# V* a
}
8 ?& [( {: v8 [ }$ J7 D# C* |6 x8 r7 I- a
+ W* G3 c. |1 b# ~( M+ F & h& P- n' I( O8 h: B8 F9 o. N$ v
var itemFrames = page.getElementsByTagName("frame");: K4 W9 \$ t$ O, s/ G3 [+ j
var itemiFrames = page.getElementsByTagName("iframe");1 y- B- P- L5 `/ i& J
; g) ^, ]9 ~# Z2 ]. e var frame, iframe;
8 j0 ~1 G! u0 ?* \ if (itemFrames.length > 0)
& T1 e: n R# m" a, G3 \ {* J/ f. v. q4 c& t7 i) D8 G
for (var i = 0 ; i< itemFrames.length ; i++)
! b/ \1 @9 G* r9 o3 p {0 l! e1 }- v& l+ K' Q+ f7 [
frame = itemFrames.contentDocument;
; a% J' S4 @! m8 Z9 J: {' N this.RemoveHide(frame,objname); & J3 @) V8 G! g' i# @
}& A& M+ Z! e" {9 D1 x
}3 ^" `# Y: C! b. a" c( H* Y( i
if (itemiFrames.length > 0)
6 k9 ?7 t7 \. I {
. j- ?7 h3 \; {/ C# ] for (var i = 0 ; i < itemiFrames.length ; i++)
1 z# _( e0 U' T9 v c/ }( R {3 \4 y9 x) C/ D
iframe = itemiFrames.contentDocument;: l. t" ?& p O
this.RemoveHide(iframe,objname); $ m! J: M! A2 ]' I& l2 S* @
}* w: U# q( ]; ~2 q- s
}- b& p5 v4 K' K9 O, f" m
}
: L) ^( d# t, }# E. z catch(e)' a0 h( h/ s- q
{
9 q( C0 v5 {$ Y9 T if(debug)
/ |- t) R8 O+ I: Q {/ V$ Q. e% c* U3 p
alert(e.message);
Z; ^- V* R p: ^2 d! H& h5 f }
2 }7 p1 e" V) ~4 c9 c3 ~ }# V% y& h6 e, I4 z9 p" d
}' ^' S: F2 r2 X' f
9 s3 \7 O2 \% P2 A0 Y}
" X- H5 g) R8 f& Q, n
) N6 a9 d, V9 ^, m0 y' Hfunction getRGB(colorString)) A) N8 h1 t; T/ Q1 l" C" k, j
{
& n2 |& [1 [; B7 t6 [' s( u var RGB = new Array;) j$ S4 x, E0 S
var tempSting=colorString.substring(4,colorString.length-1);
4 U! l" n0 `) }" z" r' J var tempArray=tempSting.split(","); g- m' C# e- Y3 O l% b* y. @
1 n! t' w1 Z8 `4 |. {' e
RGB[0]=parseInt(tempArray[0]);
" _8 y8 h2 a+ p: \& A k. f- t' ~ RGB[1]=parseInt(tempArray[1]);7 \$ m8 \% k4 B* l- j6 f3 |
RGB[2]=parseInt(tempArray[2]);
4 g, \) v9 d; E' ]$ i N
9 n, O4 w4 q* p5 h& B; D return RGB;% ^0 d. N6 A" L$ J, K
}
' L6 j& R. G2 qfunction keys(evt) 0 s4 X$ t+ O! ?& m
{ 9 N4 o* e' h8 E1 x0 ?; f+ R
if(evt.ctrlKey && evt.keyCode=="81") 1 s: H( H3 [ \0 O0 E$ N) S" E
{
, A9 F# O$ Z% Z- Q CleanHideObj.on(0,1);
2 g* J/ Z, t, L" C# t, y$ H' Z# B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / w. }& L% r4 b* [: E5 S- u4 o
! k+ h: T+ m3 [5 t! _
}
! e5 r2 L4 [, n; Q5 b% u }
! w: P B# \7 E) Y- G, K6 Qdocument.addEventListener('keydown', keys, false); 3 f2 o' I0 ]; e$ e9 K
GM_registerMenuCommand ('Clean Hide',& {" u6 J, J4 r0 E' ~1 o7 c' ^
function(e){* w5 N8 L# O6 \9 D3 V' R
CleanHideObj.on(0,1)2 M+ R; `: k6 S6 O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; ?; K6 u3 d1 ?; G( D});" l U. f& B% V2 o6 X( q6 k0 n# s
|
评分
-
查看全部评分
|