|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
6 h0 Q4 [$ H. ], X
% c4 G7 |. F! N' q" g# [+ l火狐插件,用猴子+ K% l2 K: @$ W' ?9 Y A
+ B3 k3 U- T( n! s% Nvar debug=false;
% b2 R! r# h1 Z3 C S& H$ Svar CleanHideObj=new CleanHideClass();; O# M' X; Q; q3 @
6 [8 T' f3 [, V
function CleanHideClass() 7 C; D9 X# U, [
{ 2 {0 r: T9 Q' U3 z
$ l4 B9 T+ T" M& t
this.on=function(id,bMZ)4 v) g- q6 ?6 f5 r) d$ j2 P3 f
{
# D7 v E* |, t 0 u" ?: _1 m1 s2 i6 i5 p0 Y/ z
if(id == 0)# E" p H7 f+ W/ Z$ o2 h
{$ Q. J1 D- y) E3 ]2 f# F
var page=/* document.getElementById("content").contentDocument */document; + W! m A& N4 [* r
this.RemoveHide(page,"span");2 a( x2 d) ^ [9 y" A J7 a. a
this.RemoveHide(page,"font");
, w) g& W! `; ~/ h8 W- |+ @ this.RemoveHide(page,"div");# L, ~# B$ k* |# z2 |& D7 b
this.RemoveHide(page,"p");( e1 ?! B# F8 m5 L1 T. g
: h9 o- H/ Q7 G6 @+ d8 O* k }4 j- M# k v5 H+ j
, B+ ^$ r- H$ q/ m! T }" z& F$ w3 ~5 U+ ]% y6 c
this.getobjstyle=function(node,prop)8 t) m' [& s s, a! t% x2 k
{. } ~8 ~; d( F/ @# c
try9 w0 [' k9 Z' Y7 d
{) A o0 v! x7 N5 R, H9 n' a* Z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 U* x! x4 O1 X* J, Z }
. j4 S3 I- h8 ^4 J catch(e)
4 [( @8 i5 \3 a I8 q; T o$ e { d7 y. Z) w: Z! [4 m) {
if(debug)
$ m- L: } k3 a7 F2 z* b {
$ f- x: l8 G/ Z3 `- P: t' ?; ~ alert(e.message);
. l4 I6 l& \/ {+ s( F }. l4 q2 b4 W* x; t6 U
8 r% v3 _" x7 B f4 \3 k6 X/ o return "200";
( C- }! T* h$ @$ q2 R3 R2 K2 K4 J$ S } U, {0 | m, C: F
}8 `: j6 ?+ N/ a; ]" S( ]8 D
% ]/ C9 Y q4 R this.RemoveHide=function(page,objname)1 d( u8 i [/ E4 q- f4 c/ z2 ]
{
! X" e6 m& q4 V( B `8 C try! g/ u7 O5 {2 h: r
{ p5 {) \$ ?0 ~, _/ t
var minValue=15;
0 ]. Z4 T. o. U- P! J3 s var objs=page.getElementsByTagName(objname);
( _$ K( h6 b5 j" f. z$ Y
' |- s8 |3 I( Q: K m: j# O, O0 } O' n if(objs.length == 0)
3 P; ?/ ^0 I. E* Z0 _! E, | {
! h- m8 k# U& V% F" A+ i' h2 v" [ if(debug)
+ E6 h0 z f/ o8 D5 | {
: E1 l9 o7 q( P7 ?" }- P alert("no object found!:"+objname);
8 M) y) j" }, n3 P6 G n }& ?- |: c9 f5 O7 O$ P" K& y- b0 ]
}) ]- _4 p5 J' g: @& r. D
else
& W# z' L& ` L" U/ A* \2 q4 y& q {) U7 ?, `4 o3 q1 C7 s! T- d" m* w# R5 N
( B# d3 v( T% J
for(var i=objs.length-1;i>=0;i--) ( y4 r" t, l' X3 |7 s7 i( }
{
5 l4 `5 l1 R: F3 G# Y2 e2 X+ w1 Y var node=objs.item(i); / C. D( V" E! h+ F u
" ?4 C# K* ~2 Z L9 T' q& ~3 @
- T7 _! M o2 q
if(this.getobjstyle(node,"display") == "none" ||' c9 p( L( u; z. J1 Y
this.getobjstyle(node,"visibility") =="hidden" ||! X+ A d! P; _
parseInt(this.getobjstyle(node,"font-size")) == 0)
% K' R& p1 R' V( ^$ u" { {; _- k) j. o* D' [1 ?
if(debug)
5 x* a b" I: \# ~% ^# o6 H {" P- {0 _- w9 R3 d9 ^1 {. ]5 C4 |) j
alert("remove invisiable!");0 u5 o5 x9 O( I# {8 s B
}, G" J" V \5 o% n, V
node.parentNode.removeChild(node);6 K/ S5 d, [- o4 v* j8 T
& g! [7 Z* }+ e% E3 [* H* Q }( N* O" m5 a5 V7 ]4 h
else
+ V" A' b- \6 ~( u/ E {5 U& a# z- E: W/ Q, t
if(node.parentNode)
) E' S! e- r( @/ M: t" D; j K {8 z9 X" A9 [' t9 P# _- H b) U e
var orgNode=node;
8 e v& T, A s5 Z. B- w var orgColor=this.getobjstyle(orgNode,"color")
- u) _" A2 B' Q; I* X var orgRGB=getRGB(orgColor);
& F; k3 X8 m' x5 e- T' b + g+ S7 W+ `, w
var parentNode=node.parentNode3 g) z. B7 `8 v! x; S- f, n2 |
var parentBgColor=this.getobjstyle(parentNode,"background-color");' f: {* h1 q" g: F5 r1 p# w2 ^) S$ s) c( @
) x, m, Q; R x) N9 G
var isLast=false;
& z( a+ p+ k# g, C0 d6 d7 B
' [- e/ S, Y$ }5 q4 K while(parentBgColor == "transparent")
( K& F* h- ?+ d. Z D {
6 N o5 v$ C$ c5 Q( d C" K , P) z T1 |& k# i; F1 X5 s
8 c- r$ u c3 J if(parentNode.parentNode == null)
) ], s6 |( j9 `$ q6 I3 u {
- }. ~/ e9 C+ s2 D8 |" r2 z isLast=true;
- ^* g* J) x% c break;
1 n0 B+ c0 r. [: n% D4 M, c g }/ ~( R7 Y2 x+ M; Q& z& g) J. U
parentNode=parentNode.parentNode;
( a: J% L0 K* u parentBgColor=this.getobjstyle(parentNode,"background-color");
; [0 K# `8 T8 Z. V! c8 o
% W6 b' Y- l) O8 C& Z if(parentBgColor != "transparent") W/ v# p+ i" e
{0 d9 d, H ^4 F$ o
break;0 f5 h4 u w- C: J
}
$ o) q+ x" k- a3 U) e }8 p- J! r1 E% z5 _. [6 S
if(isLast) ' q' j* t4 l) p4 R: t; G, t) f) V
{
+ q7 L+ m3 Y' g' e if(debug)8 D1 r7 I4 I- Y8 j% z
{, Q }4 {5 g+ v5 m9 m* k& ~; e2 G
alert("last!!");
/ f6 k3 y$ z" l- B }
' k( z8 r r) e5 Z6 p6 F! |4 i) b if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& o; M" F% H, p8 M% h' V& F+ I {
* X! q& Y; m" `8 E orgNode.parentNode.removeChild(orgNode); ! F6 H' c" t3 S$ n% x( f) `! Q
}
" Z/ q6 b' f2 r S }: V6 e1 Y a0 q# S5 a
else* B6 U/ v) z) I
{
! k- D* p/ M0 L7 @9 H7 H if(debug)# z2 ~1 [8 U. [5 N2 K% N* w3 q) |
{
; X/ o; Y. n2 ^3 C" S% M alert("compare color and parent bgcolor!");/ ], a1 z+ a: n* t0 v7 \ u5 v$ M
}
5 \5 }& U5 }& l+ _' t- D: d parentBgRGB=getRGB(parentBgColor);0 ^+ E, c" n% s- `$ W3 {7 p) C
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 m9 q) C! G5 b5 J7 z! v+ m {; x0 Y/ f. u# p u/ e
orgNode.parentNode.removeChild(orgNode);
1 l+ s- M _4 B5 { }8 L+ i2 B; a i# W
}9 S0 Q, N, A9 U+ ^ _7 c1 q
}7 @; |& b9 O3 u7 I: |
}5 n% j' t; w! x8 a
}
* M# K7 f& E6 B7 O, H" \/ \ }
8 @! v" O9 X# \6 W + Z; u% r) I' H
" h' \2 d1 U' H: Q
var itemFrames = page.getElementsByTagName("frame");. o! u5 Y, c# c) i
var itemiFrames = page.getElementsByTagName("iframe");
' L+ L8 J- ^( I2 U; d/ N( [5 B
}2 P$ H, |! I4 ~! e/ U" y var frame, iframe;0 Y" r: z: L# Z* t* A
if (itemFrames.length > 0)
4 ^- ?* L0 A8 I! u0 q {0 }0 ]. [% k N# O% s
for (var i = 0 ; i< itemFrames.length ; i++) ' C6 ^9 `- y- x# A3 N) b5 y
{+ c! K/ }0 w& O# X' w1 n
frame = itemFrames.contentDocument;
( M, Q' F4 p( R0 c# M" u this.RemoveHide(frame,objname); # a9 m/ B2 t4 v2 c
}
8 N: g+ T: g1 v$ v; U0 K+ j" X }7 b2 e7 Q& d- q2 m/ p7 u6 D
if (itemiFrames.length > 0): T+ I3 J$ U4 r z! V
{
7 L( m J0 @% D; W) s for (var i = 0 ; i < itemiFrames.length ; i++)
2 w+ K, ~5 H6 n$ Q% W8 L" _: K {$ }+ D4 K7 W" h
iframe = itemiFrames.contentDocument;
8 C% h2 I4 J+ Q9 f2 W1 @1 U this.RemoveHide(iframe,objname); * f6 D' U: Q' U5 P- M
}
! k3 Z3 m+ }) t" D M$ W }
% z, t7 H; ^8 p/ \ }# E" `+ ~' K) y2 y! ^
catch(e)
3 r5 p8 [' u! ^8 H {, q& l, ~2 C7 _( d* U& i! w# h
if(debug)
6 v% P+ o# l2 x1 \8 _ {
3 A; T6 P5 x. Q( ^+ [' |% B alert(e.message);& {# h# d% u& d: S
}
& d$ U& r8 L; Z1 S" U, ` }
. g6 e' f2 ] _3 A, n) J1 K }" E P/ F V7 S: ]9 q: I
8 O- @, R: J, c, g}
$ o# }3 s1 C/ ]* Y
1 {2 A4 ~+ M' V8 wfunction getRGB(colorString)% B8 \+ u5 c" C3 H
{
. o/ j; G" p) b" q x! R- ` var RGB = new Array;
" r2 K% `9 ?, `. r! G" } var tempSting=colorString.substring(4,colorString.length-1);
+ v: P5 ~" u& y- W6 \0 D3 I var tempArray=tempSting.split(",");6 F% d8 _2 S0 B! h' C( r3 ]
8 [( b( W" g$ l! X0 A$ \
RGB[0]=parseInt(tempArray[0]);8 X, U( }: {& D- x/ a
RGB[1]=parseInt(tempArray[1]);
6 w; ]. i/ ?# _0 h7 O RGB[2]=parseInt(tempArray[2]);
% l$ R3 c8 c; X7 E' u! } 1 X& ^9 ^" D% M& X1 f+ M) J
return RGB;1 J! d0 o6 B. E; K+ D1 o+ C
}
; y, c; h8 H k$ t+ }6 Pfunction keys(evt) / I" ^. e) {0 F: ^
{ - F+ x- x5 h$ c f' o1 P* i
if(evt.ctrlKey && evt.keyCode=="81") 4 p( ?) x2 B% z& m. j$ B4 q: z
{
6 L' x! p( }& ` CleanHideObj.on(0,1);/ ^ O, b& B- C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 3 ?# _9 B- S. Q: W8 ]
* X6 a& f, P+ k" }3 Y }
6 K3 s$ E& @$ Q: I8 J) d }
4 m4 X5 |7 r6 A) @document.addEventListener('keydown', keys, false);
$ O% ^( v$ {' O9 r3 B: {GM_registerMenuCommand ('Clean Hide',9 X" K, \# S* G4 }
function(e){0 c w2 g& N' K% t
CleanHideObj.on(0,1)1 U) w6 S( v3 ], }! \6 M" T5 a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" R+ d- q' L$ E( Z! c, y0 L; N});
' {% N9 J5 N; w9 k9 E6 |; G |
评分
-
查看全部评分
|