|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! l q* \& p, P3 H& x
. X- f# n7 ?) ?1 o" l; |
火狐插件,用猴子
. P" a5 x h4 z+ ~: v+ X9 D+ ?: x0 O4 ]1 o& V/ _! k$ ]
var debug=false;
/ _, t$ A8 R$ ]* c6 [var CleanHideObj=new CleanHideClass();
, ?5 F1 _1 b4 Z. C( r; J% ?
; O/ }' R+ n: E/ x" V6 gfunction CleanHideClass()
0 y8 J) Y: T1 a R. Y3 `* ]{
* Y- r; }" i. U a0 C! Q4 o
7 \9 [, u7 t% c( \# r' {( Y! T this.on=function(id,bMZ)
4 u; q& R! `: m( C' X. ~$ E {
: m( z1 N- U! H' H: m: j3 b# ~
. s5 U* i: P2 m& o$ F0 o3 g$ I0 x if(id == 0)/ N% r8 E4 ?* E4 a. V& A5 Z4 k
{$ ]* E; x5 A6 m0 n" ~; r
var page=/* document.getElementById("content").contentDocument */document;
. }6 U9 r* F- P& \% m: I this.RemoveHide(page,"span");- @! o1 m( y( P+ r/ {6 X$ N
this.RemoveHide(page,"font");! ~1 h J7 y8 m2 y. R
this.RemoveHide(page,"div");6 Q& V7 V4 I5 m7 i
this.RemoveHide(page,"p");/ ?/ R2 Z# j4 x `+ e5 C: |) b/ I
" {3 S% G1 I: k9 `9 J- p" m) B
}( P' F( z# \' K# R- D) z
; g( l9 ~& T1 `* r: x+ b9 x* S }
, I3 o" P4 N4 G this.getobjstyle=function(node,prop): I/ e! w- w! e& {. T
{: } T4 ?! [4 |0 F( s
try# f( W4 t. S3 ?$ y2 E# U
{
3 L7 u% U! o# @" l return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 B6 Q7 K# ?* N5 t) Y. L5 `+ J }# f. A1 o& k8 G
catch(e), `1 V3 q( d z: _- j" a
{
9 ^6 K$ M$ h3 n7 C if(debug), n& s: z% k4 M+ |$ {, s
{
7 m( p, H9 W8 v5 Y" y* ]; u4 j; P alert(e.message);
) f- l( X% x" G s' H: z }
1 U8 w$ U" V" F; k8 f
% U6 J1 Q0 W. j2 z8 j return "200";
$ Y& j, f5 ~. C- [, ?5 _ }* @% V6 u6 g: K# r; `6 X) H
}. y8 @3 c3 U/ r7 `$ e, S
: j9 x' H/ x, v9 d+ H' r this.RemoveHide=function(page,objname)" j T* M! s9 `: S1 ]9 h. y
{; B0 N6 t- {& T! w7 B$ p
try2 G8 X! `3 `, i
{2 B" T4 C, @8 x: S
var minValue=15;
" a; p8 e4 Z7 S; H* A: U; T) E var objs=page.getElementsByTagName(objname);
% L* h! C" I2 `3 }2 R7 W
$ ^- ^3 ^# a& `4 E if(objs.length == 0) $ q- d5 o2 R. F6 k- U: z
{
' H+ g8 F$ R, h if(debug)4 C1 p J2 k: G- G) M. N) V
{2 b3 T" J, {. ^% D+ S$ l V
alert("no object found!:"+objname);3 q) ^6 P/ q1 V. G# b. f
}
6 u& V* k1 u0 E8 A }' i& u/ z4 d2 \9 b
else
) s( @) E% A8 X' e3 a: A4 p {
0 Z1 F/ i4 |" l! _6 ] ' [; r$ P% M N" G& |# X c
for(var i=objs.length-1;i>=0;i--) 0 q) E* S6 P9 o5 ~; ]
{
1 n0 w- Y. D. O% f l0 B. h6 u var node=objs.item(i);
9 P" v1 g4 `0 q- c/ `8 u
) W1 _0 m& B1 \% p* K* A5 r
$ n1 P" g/ |) G5 Z1 g if(this.getobjstyle(node,"display") == "none" ||
$ V% q( l& j3 v4 F1 x3 s this.getobjstyle(node,"visibility") =="hidden" ||' L7 ]" ]2 j7 T4 o3 {) A( Q# v
parseInt(this.getobjstyle(node,"font-size")) == 0) * o3 y6 [ L" O0 A
{: H7 K1 T5 U0 e7 U2 V; T$ {$ A' k) P
if(debug)
4 n7 b- C4 _' L6 J& a, U* J* r( _ {
# A) A6 o* @& v0 `) _. @ alert("remove invisiable!");
5 c H' P7 W. c2 S3 c6 J1 n }8 q0 q! j3 H3 M5 m! w- J% z
node.parentNode.removeChild(node);
& Z; S; V! W# ^; v
7 Q! ]" }& ~* k, w* X. `3 G+ n }
. ?' b7 K/ |0 z2 P" j else 1 R" w: J7 z _5 q @
{
0 G# h+ X/ _$ r4 ~ if(node.parentNode)
/ | S% w( e+ i. V; S {! R2 ]3 u2 Y* ?- A+ n8 g
var orgNode=node;
, Q- G9 h* u3 D( O9 G+ | var orgColor=this.getobjstyle(orgNode,"color")
1 T4 {( M2 j9 Y( Y9 o1 }1 k var orgRGB=getRGB(orgColor); 3 I+ t! p/ e" e" G6 p) G5 r; ?( O- D$ `
! s* W2 Y$ K1 [8 E. E. X var parentNode=node.parentNode! c( v! C9 n( I& D6 g- C8 P1 }4 C
var parentBgColor=this.getobjstyle(parentNode,"background-color");
; U. q/ g( H! `# V) c5 L
/ E! u( ^5 l0 F5 W# [0 U- k0 i var isLast=false;8 z6 W' q4 \' `& H0 L3 z
$ I1 i, n: ]( H/ l z while(parentBgColor == "transparent")
+ X+ [9 B& ?) q9 f {4 h8 Z) Y& n. O3 C& J
0 w3 I8 U# `, ~" Q- |0 U / u4 r* p4 H* K; u
if(parentNode.parentNode == null)
# D' q1 U" l5 v* o {
5 `6 E ]* W/ `5 e6 J isLast=true;
: G K' q% b& u- B/ F) i W$ w break;
* n" D" D/ q" g5 @: o4 a2 ` }
1 e+ g. Z* O5 }% k parentNode=parentNode.parentNode;
q) A1 n5 \$ E) K! ~& {# N" ~ parentBgColor=this.getobjstyle(parentNode,"background-color");* X0 A" A% w8 f& N. C
2 I7 H& d4 @5 m if(parentBgColor != "transparent") / d5 K# q1 V( O; C4 Q. N
{
" f# o" r( Q m' Q" \0 o w break;
- G7 ?- s3 \- m6 A( B }; q/ B. j, R# ~5 H0 F9 \
} [- s/ O8 N; f- ?" I) _
if(isLast) + W) N) h2 j7 q
{4 f0 B6 L5 J Z3 M# j
if(debug)8 m9 O- ?: ?& P' j
{
; q! I4 t( E; }1 z I3 V alert("last!!");
" P) l7 b; W4 M1 B }
$ r. ?7 |4 i+ L8 P if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 q$ ?% b/ S9 i+ V {, ^; J. Y4 B, ^5 q8 a
orgNode.parentNode.removeChild(orgNode);
: B( |& O: m) w; u. p8 j: o4 a }) n# x7 w7 \5 O, B$ h" K
}
, l* X1 }9 `. b4 H5 @5 R' s# I. K: B2 k else
% M- Q1 P" e* |# r6 p5 P7 j' T {) [& I' `7 D4 s5 I: J! N% L
if(debug)
8 \4 r6 n0 |7 O7 k) ~( B {$ k ^) ]4 u) X" U5 S
alert("compare color and parent bgcolor!");
0 q9 _. m9 T0 ]7 p& G }
+ ]6 Z( n- F% L8 q- t- Q parentBgRGB=getRGB(parentBgColor);
( E6 k3 p( o% L0 g! S7 H: m if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# W8 Q* w2 K% u! x5 M% k+ |# ^
{
- N$ r- m- t4 A9 ?% t" J4 v. T2 a orgNode.parentNode.removeChild(orgNode); " Z3 C; V. Y( P+ d
}
7 [+ r3 T3 U1 B8 K& G5 Z+ I }
# I5 T2 G0 o w) [" a. Q }( B' K9 q. R y" N, ?3 d
}& B4 f; M5 s% G) y8 l; f; f
}
: @' _7 w. g. p }9 ^$ X N7 s% |1 R
9 A# {7 c' ~9 }! v, E
* M+ o$ d' e* ^5 @6 ~& L. a var itemFrames = page.getElementsByTagName("frame");# z3 Q7 W/ n# L1 d
var itemiFrames = page.getElementsByTagName("iframe");
: U2 U7 f2 U4 q ^
" M$ r! b7 k T; j) L* n# d var frame, iframe;* t; j. X; Z7 D$ k
if (itemFrames.length > 0)
" I) v" C4 x8 g' A. O: n {
( p& L6 S' U9 Z, G7 K1 g" a for (var i = 0 ; i< itemFrames.length ; i++)
+ M) d* e; T* ?# X7 v; M/ w: A {! X$ N7 B- G i. F6 c) R
frame = itemFrames.contentDocument;
# Z8 H( P& r; f& B3 I5 H this.RemoveHide(frame,objname); : h7 G8 |) A5 e
}
4 |" ~ P! s, O7 p } K8 T0 `: j. j# K A, ]+ w
if (itemiFrames.length > 0)/ s, I+ F, r0 h' f2 H7 E
{) N% b+ b/ _* O' w5 _
for (var i = 0 ; i < itemiFrames.length ; i++)
5 F0 @+ S& r- w" n {
7 s, M5 Y2 w) U- p. e, _ iframe = itemiFrames.contentDocument;
& ^) O0 U: l8 x: f. s this.RemoveHide(iframe,objname); + M* r' e9 d, M! q
}' x( G. {& |1 x7 i% V
}
j# e% m; v: y! H3 k) J6 v8 g }
- }; {$ \6 L; w/ V catch(e)
2 u% b5 ]" U4 `4 R; H/ H9 m. z( o {9 E n0 i6 B6 V1 u0 s
if(debug)
9 O( C) c2 A1 F0 ^' r ~3 l {
( P) J$ u' F2 {6 }, V alert(e.message);
: W' k8 e1 `2 F& P6 ~9 z" L }" |$ P/ O* V F8 U9 S6 A* l. ?
}
8 Q e6 ~- q$ k3 R }
5 Z5 ]( |2 j, L7 D' O6 a3 T- Y
5 F& n9 M6 P/ Z}
# q. c. O A- @9 r |( ~4 a% I y2 U: v( d8 {* W: A3 G6 I
function getRGB(colorString)
: @& Q s1 m. [) T7 Q/ P# P, u{
2 c8 O6 i, B+ u) i7 u a7 ?3 V1 A; Q var RGB = new Array;0 _0 S, e6 E) v& P r5 x2 |0 {4 D
var tempSting=colorString.substring(4,colorString.length-1);
* F. x, }. }5 o9 C4 @1 p) ~ var tempArray=tempSting.split(",");
& M! @1 X$ z: ]! ]3 [ q A2 t
; i4 }0 u; }9 f; ` R2 \ RGB[0]=parseInt(tempArray[0]);
P( r9 j' k+ {2 D$ k% @- B2 X T3 Y RGB[1]=parseInt(tempArray[1]);* n6 R$ |6 {6 X1 A8 z8 M* p
RGB[2]=parseInt(tempArray[2]);
' h. X& T% C) `, ?: G
6 [6 Z6 W: t: | return RGB;6 R8 b6 X' }% U8 F9 D: H" h
}
" C3 O/ Y/ h6 L& E- y8 P) C2 Ofunction keys(evt)
# @* i" H& e! ]. v { ! `+ w. q- l: S0 A
if(evt.ctrlKey && evt.keyCode=="81") " Q8 G3 F" i- c" x/ B! h8 k, {
{ : n7 a. ^ G* K9 C
CleanHideObj.on(0,1);
) `' U( O* E* r, n7 j& A9 ` alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; \$ t, n0 b; t7 \$ s* K1 v
7 ?/ A9 B, |; l. U: P4 [ } / m' {' m/ X) K6 D4 T
}
# I6 D+ ^; R, b( E) Hdocument.addEventListener('keydown', keys, false); ! z+ C: T0 |7 q
GM_registerMenuCommand ('Clean Hide', X% A6 u# L4 f, m! b6 {$ R
function(e){
" j4 m8 M$ |$ e1 RCleanHideObj.on(0,1)
5 Z. b& t8 \# a+ yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# L( k7 u4 y) I3 B- C4 W
});
3 ? ^4 R9 I$ ~* P# } |
评分
-
查看全部评分
|