|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
4 l5 V$ C( z' G& q4 N, @8 Q
) X4 t/ G9 k; ~: B) n4 d火狐插件,用猴子& a" @, a; B. @" M5 q+ \* {6 d
: O& g$ J; n0 L& [var debug=false; + h- g5 g% w* M% n. G
var CleanHideObj=new CleanHideClass();
n% C1 k0 j" W8 P7 L: M/ _& j1 S& j# f. d
function CleanHideClass()
E" m2 O' P0 v: q5 o{ # A3 _- `: j) w3 o$ p- S" ]) k8 G8 u
F" Z; b" [" _$ E C3 u/ r1 a this.on=function(id,bMZ)
& {) s e' s# l! z% s6 H {
* l; y. G1 p# H2 p1 O # B) g3 g8 s/ }* {: Q
if(id == 0)
# o5 E" T1 E+ t9 E! \1 \3 y9 N {1 J/ d, j) h. a' S+ u' {
var page=/* document.getElementById("content").contentDocument */document;
% E& F2 g6 \: p9 o- S' a4 I! m+ A this.RemoveHide(page,"span");8 h, N% ]0 b4 N- F7 E a
this.RemoveHide(page,"font");1 I* ~3 u7 t6 T( b, K# W
this.RemoveHide(page,"div");
' m R* x) L$ t# R. Q: n this.RemoveHide(page,"p");
# _1 J, t. v7 F; {0 e+ v2 p6 I
( S# _# w9 H6 G4 U& W }
1 L+ v; I) I( K6 b, f0 x8 d
( n. f: ]1 w2 A0 @ }
- S& j/ \8 i' t" w! _( b5 e' J2 A( K! ? this.getobjstyle=function(node,prop)
2 _; Z& i! y$ J9 ^! [ {+ m- l8 A/ H( m* Q3 Q% K) I
try- B9 ?2 q- a0 K3 V9 r
{
6 q4 _# P+ f4 P- \ B: {8 u return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 ]7 k% F' ` ]& v; z2 v, v. l( N+ L
}
, c. R. z: f: @2 i/ { catch(e)0 b/ i+ _4 N- e
{
- T$ v* {: ?1 t6 O if(debug)
! P8 v& D g. M p! [7 C: r' k {" H% A6 Q; g9 Y5 z+ Q4 P
alert(e.message);
u b- ~$ a6 [* |- f6 w M }3 x" t2 P4 m$ S" \% O: S7 P
& Z( h! d& s* d+ p) q return "200";
' ?& r, D5 F* j8 Y5 ~7 y }( z7 V* e" c* J: o! A
}" y4 C/ `1 E" l# x
$ N5 W* b) O3 N2 X; K this.RemoveHide=function(page,objname)
* K% x+ @: X ?; B% J {
2 V5 _; v) L% }- H, e try9 g0 [4 Y+ H; i+ F4 ?" `1 A1 T/ o4 L; t
{
) [% i5 s9 s$ I) W' P- V$ s var minValue=15;) m; ^% a7 M; }% L4 M& t3 c6 B+ U
var objs=page.getElementsByTagName(objname);
0 l8 z3 @9 P% j4 I; V( |
/ [" h7 [+ ~& {. J5 l5 T if(objs.length == 0) + ~8 F8 C; z' Q: A7 p% A
{
) x! b7 T! u. S3 B6 s if(debug)) o6 ?! a2 S' D& v! G- Y4 P
{( {) y, j! E$ ]- ?$ d! B
alert("no object found!:"+objname);
% R, a8 T) K6 L9 \! T5 v }
' H d9 p5 u. c4 Y }
% z/ F) X/ Y+ V9 B else
5 x1 x5 {% \0 A( t/ A; k {+ R9 z5 N/ M6 Z/ V
' d* V* _& Y) H% x
for(var i=objs.length-1;i>=0;i--) 5 c9 E6 m/ o8 z, O7 u
{
9 I5 ^) p p* t( U/ a, x! i var node=objs.item(i);
/ _7 p9 w1 e# h2 I , y' f' B S* b$ l* ~
1 `3 c: u3 d1 M% i. y if(this.getobjstyle(node,"display") == "none" ||
, \' o4 s+ ^# e a, Y: s) |* k% h this.getobjstyle(node,"visibility") =="hidden" ||: [7 p9 W& M/ W/ O* L0 {7 @ I! H2 Q
parseInt(this.getobjstyle(node,"font-size")) == 0) 0 h, [* _8 Y6 f* m0 |7 T
{
' g* k3 p$ |4 L. Y' N9 _ if(debug)8 e- }( @) t$ S
{
2 v& n1 V) l8 ~" q) m; Q3 l alert("remove invisiable!");, l% W+ V/ M. a/ L* Q/ \, I
}
0 u! Q& p D/ a# O node.parentNode.removeChild(node);0 P" X6 z6 D! U& P2 q* ^
# n, y/ M. b: A. `) i }, s& i! D5 O3 ^1 L; H" e" k# G
else
( j& D+ R, ~( ^9 I' s$ ]! T {
3 Z/ ~3 i' v- ~0 P7 o if(node.parentNode)
\$ c' @' n1 A* G5 l% d* X {5 V( |7 x1 N: p( ]2 {* b! _6 a# v
var orgNode=node;
. |% {# m8 q R var orgColor=this.getobjstyle(orgNode,"color")
6 ]3 X) O( T$ R2 T var orgRGB=getRGB(orgColor); & H w* l- V E9 D& i# t
p A9 b+ R9 P. Z8 g& j7 ] var parentNode=node.parentNode
" J( I( @; }& Q% X/ m6 z* b. D8 N) W var parentBgColor=this.getobjstyle(parentNode,"background-color");; e( U$ m2 B9 e# y5 C* h
0 d( E: J" c1 P2 g
var isLast=false;
3 i5 }6 t* G0 h2 X, o1 ^
& b: H9 E& r" T, n while(parentBgColor == "transparent")
8 Y8 _0 A, E, G {: A/ g5 E# G: s; N+ g( m
7 h- ~7 ~/ p9 f, p8 |, b7 F
- s3 \5 `& x4 s5 f: e if(parentNode.parentNode == null)9 F1 O( \% Q3 u9 D9 X4 J& m
{
: ^* K9 A6 }) | \- |; y isLast=true;
: w7 h# ]+ T+ a( V8 M; p! l break;; @" l: D. ~) T* j% _8 S
}
2 u) s+ C) y9 s7 f2 c parentNode=parentNode.parentNode;+ D( j7 ^+ k; D, A3 g8 b
parentBgColor=this.getobjstyle(parentNode,"background-color");
( n- t! y G& T" r
$ U4 \2 |1 }. v- ^" G& t if(parentBgColor != "transparent")
. |3 X+ \6 `6 v* c% ^: m+ `. M {
3 a/ ~. ?; ]) J6 F' u+ S break;1 f8 B4 K1 ~& G
}2 s9 ~9 L, l7 g
}2 p) H5 r- b8 q
if(isLast) * u& |* {2 H& A, p$ `
{
; u- z1 P1 w1 A) x, p$ g if(debug)
3 R$ C8 h8 {8 ^# ]! i" U* ` { D# ^" v; w- U
alert("last!!");: |, S1 ^# D" g
}
% u7 S8 Y% q9 e- Q1 M S if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ V! ?& G. g0 o" Z% K {) H7 J9 U5 _' k# x' |( I
orgNode.parentNode.removeChild(orgNode);
" o! @- x& G( T0 c2 R& h* _ }
" c& {# n9 J$ A, B }
+ f& D4 \* I3 ^ else9 e6 V4 h& d1 J* n5 b: G; [8 Z; i& i
{, f+ g2 D$ ~+ f, g8 C
if(debug)! w2 n# w- w" K* j, o' z- b
{
4 g6 e! e! e$ m e alert("compare color and parent bgcolor!");
+ l% U+ A! i# r5 A }
7 W% K# ^9 h3 l% m; ]2 q" V parentBgRGB=getRGB(parentBgColor);
# W; j2 Q$ W, {- b/ z+ [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( N* q3 C: B# k# { \ {
) u5 o5 S: g7 Y6 w* T' y, A orgNode.parentNode.removeChild(orgNode);
1 s4 n D# x/ N' s5 |4 f }
" c' u* |0 @. ?. \8 ~% S }. v1 w$ |7 l1 X
}* u: M7 W9 B- P2 d0 @
}
1 V) U, c$ l: s8 B' R/ K$ Z7 m: Z }
6 a) q: ^& |9 \9 r- z6 ^2 @5 O6 C }* z! k2 _# C, F8 u* a/ l
5 g9 ^' J9 X& V; Z
) N" w Y0 ~& z/ u! Z8 D8 v* o var itemFrames = page.getElementsByTagName("frame");
8 m1 u; }# I% o: w2 A) f" J% x var itemiFrames = page.getElementsByTagName("iframe");& l$ {+ ], n0 l' i* m3 x
9 n) o* f4 T* Q# K( n) \3 e+ Q
var frame, iframe;
( A4 e% n( e' U4 R& T6 ~ if (itemFrames.length > 0): `7 T+ s3 x$ d. ]
{7 z+ N4 l3 I9 C u! I
for (var i = 0 ; i< itemFrames.length ; i++)
& H8 ~9 K7 i+ f* U' }. c4 m {8 Q, K) i* v5 G9 @
frame = itemFrames.contentDocument;. `) A1 U7 G, p! I/ V6 `3 m
this.RemoveHide(frame,objname);
) r4 R& i2 E/ o2 N0 Z }
+ t2 w6 s( p! a+ a, Y5 |9 u5 |! C }
4 _1 Z4 n- l5 J* A0 C! F if (itemiFrames.length > 0)
* D& u9 e- m" V. c! ~ {
7 y9 e, ?; g2 N* `: ^: M for (var i = 0 ; i < itemiFrames.length ; i++)
$ Y. I( d* a* ]1 I {8 I# r* l1 K4 `4 K6 {3 z4 i0 ^
iframe = itemiFrames.contentDocument;
! m9 a7 e {% k9 R' R, X5 [# X this.RemoveHide(iframe,objname);
6 W+ O+ t2 Y: d/ E- ? }( \5 w% N$ A4 a* K
}7 ? X- x$ k5 k6 j
}
$ L( i& c+ C3 F' V catch(e)
' X4 G1 G* F3 H6 C {
D1 S& j$ E8 d* R1 l( {6 O if(debug)
g. {" N$ ~3 M1 Q {' h9 W: k l% M) w7 h. k
alert(e.message);
3 S0 O% b4 a4 u. p3 W. Q }
* G) g' p1 j7 m! a }
! p1 `9 ~7 J# M D0 h$ E2 E% _ }
7 w% A3 D7 Z0 ^2 b8 [& o , B u3 i ~. X" T1 k) N
}; s. b2 h% w7 _. j) h& L0 h4 k, Y
/ S% @. f- s. q; r8 _. C7 G' zfunction getRGB(colorString)
% ~2 m3 O x. @; }9 Z{
$ l$ Y [+ F* M5 R3 L var RGB = new Array;
1 v6 Q9 g) Q! n X i, p. Q var tempSting=colorString.substring(4,colorString.length-1);4 R' A* l$ o+ m7 k2 @/ F( x
var tempArray=tempSting.split(",");" y. c9 T& i- Q
- W) \& |" H( g' W. S/ t
RGB[0]=parseInt(tempArray[0]);( B: ~& v0 p. J7 v5 K* _8 X
RGB[1]=parseInt(tempArray[1]);: d4 c1 i8 E4 X4 e+ S8 i0 L
RGB[2]=parseInt(tempArray[2]);
8 O }: f. O( P# [, a / J/ O' S7 T! s7 E2 I
return RGB;
$ R& o) a( q# @9 L}
9 i9 w Y) U3 |: x% C- Yfunction keys(evt) : ^: N3 p0 m: t" r3 l# Z5 E
{ $ q/ f) O! \" q
if(evt.ctrlKey && evt.keyCode=="81")
0 s2 v1 b9 X5 \$ r9 w$ [ {
0 f2 R: c' V. _7 y CleanHideObj.on(0,1);
0 C3 H4 l5 i) ~; b0 z alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
^# g# |- |' @/ S
& ^+ H3 P" D* Q } ' b+ T M( m# C
}
) e: n/ S/ g. I8 C/ P9 I$ xdocument.addEventListener('keydown', keys, false); 9 d) m( u7 @3 K" Y- q ^1 s
GM_registerMenuCommand ('Clean Hide',6 H: k) \$ _: S1 z& ]: a
function(e){
) o9 l$ F9 l2 e6 h8 K sCleanHideObj.on(0,1)
# c, w" |% \: [alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 D+ Z* x0 C- U5 ^: i: W});' A# B1 B/ b6 s1 O0 `5 F6 ~
|
评分
-
查看全部评分
|