|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- v- C. C6 t: q0 O: ]1 O3 ?+ D. f; ?. y( c- f
火狐插件,用猴子 R5 Z; p9 e$ @) C3 m& B- v
* d" y# Z. ?5 }1 ^$ q- \4 @5 M
var debug=false; & _ B# \# G- m6 {
var CleanHideObj=new CleanHideClass();
" s$ e; Q- o! O7 r0 B8 W
7 W3 i4 G: y/ A: p' Lfunction CleanHideClass()
+ P e# l+ ^% E; R{
4 Y, c6 X4 h+ P
6 O7 \. a! x: @) {4 G* O$ Y a this.on=function(id,bMZ)
' `) r% P( j- t* A' G- Q6 ^ {
. z" j, O/ u/ V0 U1 D, N
4 p% [" x: K: N1 z. J5 H* d if(id == 0)0 h8 a: C0 \ U3 l$ [
{$ c7 f: [/ s& J7 Y7 J! d. i
var page=/* document.getElementById("content").contentDocument */document; 3 l# g2 Q; G6 \' \2 Z7 W; {7 R0 ~/ L
this.RemoveHide(page,"span");
+ @1 q/ ]+ U( j- q* m! ~! m4 x this.RemoveHide(page,"font");2 c( s9 E! t t+ w! ]( n. f
this.RemoveHide(page,"div");
% f0 t8 @' G/ | c8 ] this.RemoveHide(page,"p");
, D) Z7 d6 X* y9 f. ]1 I5 a
, f5 Q7 F# Z" u# f' J. S; B) D }- b) m7 U3 `+ \8 ^8 q! w
: p2 i( D5 }' h1 Q2 _/ M5 Y' G0 m3 y: K }4 {0 {% x- f& h. b( T
this.getobjstyle=function(node,prop)
8 j) u ], t) K! u8 Y {4 H* o3 p9 R3 j3 v
try
6 U5 u! e/ F- j8 o; a0 y# E {* i# n7 _$ ~9 i, k( B; O
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 H1 d# M9 \" n v6 s! z" |
}
- Q) ^& j2 V/ w catch(e)% U/ t; O3 a6 W( x+ X
{# E7 p; \) M- Z( }
if(debug)
) n) P+ Q1 T% Q% G, n' _% { {* U9 U+ r$ C" o' m5 K( l
alert(e.message);
* `: c) J& o/ x; x9 [, N }
! J/ E% I. w) Q$ o/ n
% ^9 P6 C) i1 y! \: A# ` return "200";, z4 R0 A# U9 Z+ P, O
}
& b" s( D- e n5 R& a3 j' i }
( Z7 f1 R$ N" A, h$ g
4 D' M- b2 h* @# W# R; N* g5 n this.RemoveHide=function(page,objname)
& |2 J5 u9 R" B8 B* K- k; h {
% W g: Q3 Y: y5 g7 k try- m `- T# r# R9 q
{
2 v: V) S+ J! {( m% l4 o7 c var minValue=15;: i- z+ b$ [' i7 x' W
var objs=page.getElementsByTagName(objname); 7 p! U) G2 e! s
2 Y2 D) H4 [$ k7 c if(objs.length == 0)
# Y) C. G1 @& n n" s7 U1 [2 j {( ]" ^+ L6 a% e5 Z
if(debug)
0 ~ S! V1 J- |3 C$ F/ }$ H( ?8 y {# C6 K/ B2 X. @7 ` ^
alert("no object found!:"+objname);6 V7 ^, P6 f/ f8 v) ?% K: g) F' X
}+ E: y1 G1 M* |) A% t* M
}
$ X6 T& t4 K( C% G, D7 Z4 ?) C else8 o( [ ]& x( q- x, i
{
1 u( S) C( g3 T7 u
# z6 j2 y8 I r r for(var i=objs.length-1;i>=0;i--) # E" X! _$ l9 N. F" h8 u8 Q
{
* m. |& \# @: E1 o9 { var node=objs.item(i); ( U1 I. B; n( j$ I& }: i
5 b) f: G2 t7 p
4 a% |# w* |/ S% z6 W" u. R" O if(this.getobjstyle(node,"display") == "none" ||
& I0 ~* ?3 L- a6 N this.getobjstyle(node,"visibility") =="hidden" ||
. N/ b! m+ V7 p4 [3 R3 ]" s4 } parseInt(this.getobjstyle(node,"font-size")) == 0)
5 e) `3 s8 N2 N3 \ {
1 p* D# K7 ~, ]. Z& m if(debug)
% U, k9 u- O! d" x. C1 Z6 I {4 w+ O7 ?9 D/ c
alert("remove invisiable!");3 R& B( m0 w. ^
}
! e! y4 w2 R# Q3 x node.parentNode.removeChild(node);
: e, c: I' N" S
8 ]! A* U0 Z7 o$ Q- r) A }6 z$ H1 Q: F. f6 H% n# f
else + c9 w, [# R, G+ c, \9 u: p
{4 ~& ?& g s; S" R- c+ O8 _' h2 s
if(node.parentNode)
+ B. A% V+ [7 W& ~7 A, s {8 v8 Q% l, c/ h4 J d) Z7 O
var orgNode=node;8 M' o* ], @9 F
var orgColor=this.getobjstyle(orgNode,"color")" P% U" C9 K4 [8 N4 v! _5 l
var orgRGB=getRGB(orgColor);
& e8 y9 A; f/ w7 M8 I * {. y6 _3 ^% e: V' ~9 {3 `2 i" D6 g# r
var parentNode=node.parentNode+ n. z6 p: @. q5 b" v/ x8 t
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 S5 k: ?7 g9 [) J& N% j0 r1 r6 n
' v& ?8 b* q, n3 J' X' `1 ? var isLast=false;: Q: C9 c6 [8 ]: i' z3 ?# e
, {# r5 |$ W& f3 x C! O% k9 f while(parentBgColor == "transparent") 7 \, L4 ?7 t3 B' r
{ w% e8 R% ~ U$ _3 o
) r$ B6 k. d1 t6 a- j$ m6 T4 X
% d5 s! j( |* p0 I6 I; x9 K if(parentNode.parentNode == null)
( u5 ]0 W5 M. u) Z* J# u! A7 h6 r S {* T. t3 K9 g' |3 G
isLast=true;
+ Y" s4 f: h+ P break;
# j8 q! H9 L8 s; f; _/ w }7 J- H/ W7 G3 X. ~/ X& Q
parentNode=parentNode.parentNode;# E5 P- Z6 x4 s- d2 v9 V }" ^& o Z
parentBgColor=this.getobjstyle(parentNode,"background-color");
+ c; V( W- L* F) J& q6 e T% J$ t
2 h# n4 J1 Y e" A+ c! L. k if(parentBgColor != "transparent")
6 h' Y, t4 L2 y) ^$ N3 w% i7 d {- Q; d# \+ e* ~) f8 ~
break;
6 b: c) n+ L: E. s0 [0 B }+ ^1 O* L% M. u- G; L
}! F$ _- d" w: R8 T% J
if(isLast)
* x, Q+ F0 B, }& U! A {4 O3 F+ Z& m! h! e* @+ D2 r3 s3 N. U7 Y
if(debug)2 @9 M5 o( b, F# `
{
0 r/ {( e* M B: s alert("last!!");( Z& I! T7 x8 h! ~: r
}: A5 j: P8 n$ t( N
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
- Q5 [5 }0 g, O. v# | {+ u0 A. ^9 H. e5 h0 a( U+ o6 p
orgNode.parentNode.removeChild(orgNode); : N% D+ v1 \7 g' q9 I- Y
}5 g( V9 l6 p1 {+ Q% _( J# P2 P
}% @" Z# K$ s5 `7 `' l. a- K$ P+ V: k
else4 `' R2 q, l1 R0 s8 w! m
{
6 V; }# G4 D+ c8 n) z. Y o, w if(debug)
' U3 z: j" e/ _/ u {
+ {' a2 S6 {" O, [# s alert("compare color and parent bgcolor!");
6 `& f* e9 b5 T+ u3 F- M/ u1 Y- @ }4 R: p2 K' c* P7 G4 ~: c
parentBgRGB=getRGB(parentBgColor);/ i3 L- R) Y8 U$ q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
" p- S6 d1 }: W/ d6 r {6 r/ K4 B, w/ ^5 R G' r( e
orgNode.parentNode.removeChild(orgNode);
! _* N! U. x$ K- I, N2 y }) z% A- k& i2 f. d
}
4 O& R/ ^. w H: B! Y* S }
4 @2 c+ j5 ~1 q$ P2 u ?7 [ }
1 U5 K8 m3 V7 Y' x- f3 k/ _ }
, @! u4 B8 h/ {6 M9 f }8 n$ A, ]/ b2 f0 P' y1 T
3 c0 [- n% ]) K4 m3 b3 Y
. X; m/ ?5 q6 t var itemFrames = page.getElementsByTagName("frame");
3 J# k @' L4 R: J: R var itemiFrames = page.getElementsByTagName("iframe");+ o. O- Y+ i9 q" [* C
+ I) P8 u. ]- i3 g; `8 U! }% z: u
var frame, iframe;) h K1 N* @3 O* t X4 ?1 P) E( x
if (itemFrames.length > 0)6 C7 }$ c! @' u6 n
{' A& t2 @- G' c
for (var i = 0 ; i< itemFrames.length ; i++) ' J1 t1 X- }) w. V
{" H' Z1 ]& c9 @5 G" @
frame = itemFrames.contentDocument;1 W t( b" S, j, u9 b4 b* v, h% \
this.RemoveHide(frame,objname); ! u' j- R- \/ G$ m# e
}# r3 `; K4 p3 Z, F
}
/ ]# C8 F3 d7 }$ A if (itemiFrames.length > 0)
4 q4 o+ B5 n1 [4 C( G2 l {( S* p$ ~ _* K: ^0 e- k6 y& @
for (var i = 0 ; i < itemiFrames.length ; i++)
, D0 w B) O! [, O& U {
) ?. g G2 Z: q5 ]) V/ d3 _* D% Y9 d iframe = itemiFrames.contentDocument;9 w& |' _% f6 r- O" C1 ^
this.RemoveHide(iframe,objname); # d3 R+ G: M8 a
}1 C( _$ o: \* [5 A9 Y& \! J) _$ b
}
9 {, R$ f) U9 V8 P6 }7 G8 u j }3 F! b9 b$ |6 |1 ^. ?# B1 S
catch(e)
5 M7 o! z/ z, O7 z {+ o( p' q& l% e+ F
if(debug)
3 z4 Y+ }0 p' u2 S& `- W/ D0 { {
( d" w+ {3 Z7 G; {% U( Q2 E7 | alert(e.message);
" f* Y1 w3 |( F4 n; g# b/ x4 {# H }: ]$ q7 b9 y0 i
}
9 P* l7 | W7 e& r }
; ^8 w: ? K1 E
5 w9 ~: t2 v: {0 p6 K3 J}' d# H9 H. ]5 L% y- [& L
# T2 i% Q' p4 ]4 [! ^2 c& Z$ L+ Ifunction getRGB(colorString), h% F: ]1 c3 j5 c' G+ L- R2 r' J
{
" _. \4 k9 ^$ ^1 h% C4 d9 n var RGB = new Array;
4 H! }# M7 ~5 [0 \0 g var tempSting=colorString.substring(4,colorString.length-1);
6 s" t9 x! W! [7 s0 e var tempArray=tempSting.split(",");
/ ~/ S9 Q S$ k, Y
, V/ T' \( ?. `2 V RGB[0]=parseInt(tempArray[0]);
* \2 N* s1 T. l6 E2 w; F RGB[1]=parseInt(tempArray[1]);
+ c6 w2 A' e7 c7 J0 H4 r RGB[2]=parseInt(tempArray[2]);& L/ c% M5 I+ S% o, X
+ ]5 M# [; b$ `- b) z7 M0 W- r return RGB;( F7 B% O( j$ w! P
}
' y B0 ]& L$ @6 Cfunction keys(evt) + Y2 f& R y9 Q: ~/ [! T
{
7 e3 M2 `* _9 W! y0 C: Z1 C2 Z if(evt.ctrlKey && evt.keyCode=="81") / v! _4 S7 q% V1 z7 U) C
{ # V' h0 ]' r3 B2 i- \% i
CleanHideObj.on(0,1);
$ s- R+ z7 _" m! ]/ i alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( \4 j: e& K/ w" r( s. a 3 s5 N5 `/ T" w+ ^7 T% C+ V* F
}
: N( k0 V4 h: p" b }
0 F$ S8 i. [6 H M4 f/ fdocument.addEventListener('keydown', keys, false); ; N8 i; m3 E% I2 B+ B
GM_registerMenuCommand ('Clean Hide',
5 j5 [6 x) N, l# g, Z+ bfunction(e){
0 L$ W2 n) z$ B1 fCleanHideObj.on(0,1)! U+ O: S8 g8 m$ V
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); m. K3 {$ f2 c& R; w
});
. t8 D( k2 d W" `: u" F4 { |
评分
-
查看全部评分
|