|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & ^8 J$ c6 g/ j4 V7 u7 h% {
0 V# V& M. y9 J
火狐插件,用猴子
. M) N* i- m( u" }4 C7 z- ~0 ?0 |1 O! e% {' C7 ~
var debug=false; * J) G" \" o5 \
var CleanHideObj=new CleanHideClass();
) F7 q+ ~. v% q! C4 Q. t& h/ Z5 w) {1 X" ~
function CleanHideClass() 2 A0 ?0 N' B5 J' Z' e
{ . o$ e3 ]; U) g# K
) P7 N3 W' K& _: H6 I this.on=function(id,bMZ)
' v) N, {9 W [7 [ {
2 j N6 C# _" R& q& D* A # ~/ j* r. T/ e& r5 W0 B; g
if(id == 0)
1 M: a* A E( j {
6 W! ^( v; h/ K) Y/ d3 A var page=/* document.getElementById("content").contentDocument */document; 0 w N% Y4 _8 j0 X- H! |- L ?
this.RemoveHide(page,"span");6 s! |2 `+ ^3 p: i5 ?- ~
this.RemoveHide(page,"font");
. p7 e3 N" f" R# H% r) Y this.RemoveHide(page,"div");
7 _; b# B. T0 N4 `: C: u) K' j this.RemoveHide(page,"p");2 Y8 c: m+ e1 I P4 P
% R6 [: ?0 r( K) X' J3 a
}5 k& E) M! j- ] S5 `
- i, H) K: T: ]2 A }
?9 n) m+ g) ]/ C2 } this.getobjstyle=function(node,prop) W. y9 ~' z/ t( P
{* O/ H- M+ w# Q# P
try
8 S" A; W3 ^9 V+ E/ W. Y {
3 V% |, ?3 u8 w3 N- k return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ j+ _7 d! U7 `/ x* C. J" ~% ? }/ S: s' R; u# S8 X& n, S! m
catch(e)/ s% D' f; s+ ~4 M: N
{6 c& l; E" ?( G W! P; Y
if(debug)
! U6 L9 X9 D z {% s/ R1 X% F, f5 i3 e( q
alert(e.message);6 ^4 d! H O8 X, A* e7 n% N' K) A
}2 o+ M5 `# E) z$ @( Z; k+ ^/ P6 M; t
1 g: i4 k5 g) H# H: U9 Y' N return "200";
! z: N3 P4 \5 z6 c }
1 x0 e* M4 R) Y }
" C$ n9 `: z2 w4 D3 b4 M % J3 z! Q+ d1 q
this.RemoveHide=function(page,objname)
; t1 D l: l. V) Z {
4 d) S9 p; J" y$ C try
5 ?7 e5 ?4 e4 F N {9 Z' [1 E$ y d
var minValue=15;
- }; I! h; ]9 N% k6 F7 h: B/ v/ R var objs=page.getElementsByTagName(objname); & J. L/ o9 K( c& Z; y. m" B0 g$ S
7 n* t! Y! @8 f- `
if(objs.length == 0)
4 f) A9 z/ D) F. Q& c {
0 g; r( ~, ]7 B% Y if(debug)$ d, }4 L* b7 k4 x- C! T0 J1 e' X
{
2 {: O* m5 o& c. u alert("no object found!:"+objname);4 c# g0 ]7 D5 B/ k
}- e; D2 N8 C# R0 c2 `
}$ Q$ _3 r W p
else4 S; P1 x7 @/ [* F: g0 d% t
{# A& t( [8 c; ]1 B! f9 B+ a
' V& ^2 q P# V for(var i=objs.length-1;i>=0;i--)
% \0 K; `, o+ a4 D4 n4 Y5 g {8 f4 m8 K+ S0 y. k7 O
var node=objs.item(i);
5 W _/ e4 D' H- m5 p ' H( M: R! L: f3 D# d4 s
4 w1 X% k# A7 e1 ~& s
if(this.getobjstyle(node,"display") == "none" ||
3 \8 P- b) z- T/ T9 f i, i/ F this.getobjstyle(node,"visibility") =="hidden" ||5 M% S3 _- l' |% i& W* _" ^+ d
parseInt(this.getobjstyle(node,"font-size")) == 0)
! g$ y9 M6 M1 e {0 G3 @5 C1 h: o0 E# L- W) g
if(debug)
2 W p4 t4 B; e6 U+ d {6 m& B5 D) x% U* J
alert("remove invisiable!");' x& e, ^; a( R5 P
}$ L% A5 O4 o! B: @( W% T7 q
node.parentNode.removeChild(node);
1 i# W! b h4 j% p6 a* z
5 o* Q+ f- i9 Y: x: N* x6 w$ ]5 @- ` }+ E* d( `! {, \2 \2 n9 A5 k. J( F
else
j3 P8 h: K1 ?# t! ?( q/ g {
2 h- r& i6 o) f if(node.parentNode) 0 b+ A& b# `0 H/ {- Q. X+ Q" J
{
2 f7 c# z; S9 H6 h. Y var orgNode=node;. y- S1 u' f9 ]2 O8 g- i
var orgColor=this.getobjstyle(orgNode,"color")
4 H+ b& X6 G$ m0 m. W; f0 N( Y# X var orgRGB=getRGB(orgColor);
3 z! ]" F& Q+ ^3 \) i8 L7 j 6 R0 f# ~2 \* k- j& r0 h' s% d
var parentNode=node.parentNode
+ n0 Z8 T/ M. n$ v3 j: s2 g var parentBgColor=this.getobjstyle(parentNode,"background-color");/ x4 w- R5 {; @ o+ ~8 \; C* F
8 F) @; S. }0 \
var isLast=false;
$ Q r( E% G# |$ I* F c4 g. R; V9 r: b. z) d
while(parentBgColor == "transparent") 0 M0 P" A4 ?5 X& }$ G
{
; B( Z: v$ p6 M; }0 K
9 o3 {0 }9 b* e, L M+ } : G1 C# V4 {; H: m/ n, o
if(parentNode.parentNode == null) X6 _( e! A% G" r
{
# E, V7 z: I* P" B8 G) S7 t% B isLast=true;
& E* g# y8 q5 w9 H break;/ ?& T, }* U3 h0 w! c5 g& H0 U
}
6 i: d0 t9 m- E. B3 ` parentNode=parentNode.parentNode;
5 } @& \( A9 Z. e parentBgColor=this.getobjstyle(parentNode,"background-color");
, K+ W5 m7 P: j: |
9 R! D$ b( G8 N4 J f- A5 ` if(parentBgColor != "transparent")
$ m8 v# X! u' l: S1 a! d; } {
( }4 N- A( t7 p- A1 | break;
( p; ~( M# r8 v2 ^+ x7 |$ Z! V0 X' W }
6 n: W! \1 A0 z' Q, Y; u }
; h1 H+ I1 K6 k if(isLast)
0 h" e/ _ v6 ]. M8 W2 b2 j4 d {
M, r Y$ L% x' ` if(debug)
# w) K* p' e3 @* n$ c) s( i {
$ ^2 U" C+ M) t* ~- i alert("last!!");( A p" u7 B5 ?: D: Y$ I1 m6 X
}8 S! v, n: s' `: Q S
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" u% U: h( \. e {' q$ R: U3 y6 M' G9 }/ z" C
orgNode.parentNode.removeChild(orgNode); . E% H+ w) Z- \1 y* ]$ e1 D! J. ^7 M
}7 y, n. a' S' L5 c, m! f9 x A
}' {9 J, I& u' G9 T
else% W4 R' F* g, j, \- `4 ?" X! M
{
1 T7 q( l# E4 Y5 z if(debug)
6 ~) o7 e' ~7 [ Q5 F- O {
+ J) ~1 o. ]) V/ H/ H5 u" j alert("compare color and parent bgcolor!");6 b) K- X7 X7 O2 o* v. b
}: Z8 Q7 u2 \. T/ R# J
parentBgRGB=getRGB(parentBgColor);
7 h0 |. p. o) d; h if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 p0 ~( k( u# Y7 |0 c
{
7 z* r9 e4 n& y orgNode.parentNode.removeChild(orgNode); " h* z( q3 e, c2 z; L6 `
}
6 H$ a$ _4 ?8 X( ] }
+ B1 \* h. j% [& q }
3 ^% F3 c! `! n6 v# V }
2 U% p( m# }9 P }: o, @1 O, c( @" ?/ y
}6 T- l3 W6 T, L# u& t8 [
9 ~* Q4 F! m( h1 l& ~9 p 0 k) w; f5 }4 Q, l5 f$ N
var itemFrames = page.getElementsByTagName("frame");( v* z2 [: ^ D% S w3 U' E6 |! k
var itemiFrames = page.getElementsByTagName("iframe");
% ^9 x8 j- ?1 `, p) p3 g " C6 T( q- Y: D" x5 H
var frame, iframe;
7 x/ y- m9 N+ q- b: v* G9 e% v1 N if (itemFrames.length > 0)
$ C( {4 R- H! H# }1 j$ ] {* [' J8 b9 ^% T* L' e
for (var i = 0 ; i< itemFrames.length ; i++) 8 }, d0 {; f' C& z
{- p2 _# V. m# E
frame = itemFrames.contentDocument;
1 L. Q7 \4 r# [; J$ c! s& P this.RemoveHide(frame,objname);
5 D, O! z+ E( N5 P2 r5 t: ~4 q }
4 ?% `" h& s0 d G) f }
9 z1 j& y8 N' K' V) I; P; S* l6 G if (itemiFrames.length > 0)( {' {- S. d! d1 W$ ]$ I
{7 {. c* l- f* D
for (var i = 0 ; i < itemiFrames.length ; i++) 8 E. r" t! c0 {7 x
{
: W0 Q8 U# ^. f iframe = itemiFrames.contentDocument;
. L, y# ^( A9 m$ e( j this.RemoveHide(iframe,objname);
% ?& x* K5 R& z( Y C }" g" n) ]; f4 o9 i- F3 r: P. R
}. X" V# S5 s' E" C, d3 `7 \! H
}8 ?0 n6 h8 C* N$ d# B6 r
catch(e)5 m" C9 d2 X$ W$ o3 }
{( ~! g6 f1 t2 G& X' }, r% q
if(debug)8 Q8 `5 T7 v0 T8 `
{
, J, [/ G5 Y1 J6 ~$ L alert(e.message);
, j# C! i1 h, [$ _) v& D2 W) V }
: L: u, f- ]( ^: b+ U" g/ F, O2 @+ M }
9 m/ B% ?4 G: E+ |* v+ i" ` }* @/ G2 \9 \/ f9 A+ H! z
4 M8 n) j- f; R" B6 q0 {
}
* U/ `& e9 I5 E- E
]( b1 I; W |7 K' G, D1 K9 y3 f5 Lfunction getRGB(colorString)* J0 E5 x5 j ^6 Y
{) n# j5 G, F9 O2 X
var RGB = new Array;
. H, i& ] G( ]/ j! b4 g( T var tempSting=colorString.substring(4,colorString.length-1);
2 H4 [4 z, w5 y) \* b B var tempArray=tempSting.split(",");
9 Y' G' [7 m1 Z" k8 B5 D1 v$ ~& G. N3 o4 @2 W0 p! J" R. ~
RGB[0]=parseInt(tempArray[0]);) s& v% U7 Z" Y* G' ~) S' g) Z
RGB[1]=parseInt(tempArray[1]);0 h" H( z# m) }9 u8 O" k
RGB[2]=parseInt(tempArray[2]);' m& e9 Y0 x# R g% S+ O3 q
9 x4 r+ b/ O; a ?9 |/ z5 B9 j return RGB;3 e) r' Q1 |* l. U
}1 ]8 ]- J6 E( L5 Z& T
function keys(evt)
5 T6 ]" }: K0 Q { ; K2 i- ^3 P: i% P( Z
if(evt.ctrlKey && evt.keyCode=="81") 2 a- r6 z6 B% K/ X3 N2 y3 [* P
{ / h7 M, r, c" |1 A& h9 h
CleanHideObj.on(0,1);
/ Y1 f* U/ d) U4 F b8 { alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ K w' B& e0 w- _8 Y4 N6 i
- A* D% O+ f9 D }
" p4 m) e: I" A# w6 }3 V% C Q/ x }
$ J! M! |) p b1 T5 U4 k# ^9 kdocument.addEventListener('keydown', keys, false); 4 a0 z% X2 Q- ^% h
GM_registerMenuCommand ('Clean Hide',9 @/ U' E/ Z2 `6 }, n& h
function(e){; y2 x8 J2 k X0 |" K# N' \ h
CleanHideObj.on(0,1)0 `6 {4 e b+ Y7 E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# G; p( C: u$ ^$ j});
: ]' D+ r/ Z* g; c. N* |1 ] |
评分
-
查看全部评分
|