|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 b, P" T6 k6 R$ ^$ ?
# t& }! k* \6 L C4 _5 F
火狐插件,用猴子
/ I, x& Y% @6 z8 j" a" ~! H, C# E% G3 m# ]! z0 Z/ b/ u
var debug=false; 1 a) n. ]0 r C" T) K
var CleanHideObj=new CleanHideClass();
. M2 M0 N. g$ Y$ u# F3 a* W3 O9 H3 L
E- |) _) k8 x/ J; E8 ^function CleanHideClass()
$ T2 n4 n/ U; Z0 v{ ( i: U" k' Q7 u$ U. b% Q; s. D
3 F4 Q0 c/ R) Q this.on=function(id,bMZ)5 l+ a3 }" A2 Y, v5 J* e
{
_7 l9 S! n4 J. H6 v" _8 e " ~- L( d; `" c9 C& v, g/ b
if(id == 0)" v! |: [7 J& L
{; ]3 Y) e# Z; Q8 }: R
var page=/* document.getElementById("content").contentDocument */document;
/ M0 {$ B- M- O this.RemoveHide(page,"span");
4 d8 ~" ^1 y! d; j. S, b& w5 P this.RemoveHide(page,"font");
5 e( H1 m/ q D( L this.RemoveHide(page,"div");! u) m, o* H5 V# h5 z
this.RemoveHide(page,"p");
" w3 V. C2 q! R# p$ H7 R
) {3 F% `6 }5 |# E! M }) g' q/ g" z( s$ V
& f7 `3 E; a- H1 v! U8 ] }; i/ F4 l* U* ?
this.getobjstyle=function(node,prop)6 q0 b8 W* _7 e: O7 F
{
& w' @& B' |3 e; K, M4 T3 h try
@2 W4 o+ Q) {; A' I {6 b$ U9 T4 N8 v& |$ q! k0 H( u2 s
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
% G/ h+ c) F& l+ W } ^9 S, O2 \9 m& ?
catch(e)5 X/ c5 h# g) w- S6 H- z! n5 ]
{
* p+ m6 b6 J# R" h+ u$ D0 [4 A* t if(debug)
1 o. u- M5 x9 Z" V. N2 Z {
/ ~3 t. k# `8 Y4 V0 H alert(e.message);
# e8 E' t" q' }! s N# t/ M3 F }' d( C* q! q% p8 \' k% z% W
2 c3 g8 e4 `7 A0 M9 J
return "200"; h# m% @6 o: l+ c' t" U S
}8 X* O" Y- W. i1 @& I
}6 T' g; A1 b. M
R" Q5 ^& Z {5 b3 O" _7 Y
this.RemoveHide=function(page,objname)# R, j7 V( d1 }6 P# j
{+ Y# h; H g6 m9 W5 Z0 i
try. o; O" k6 ^) G+ d" t
{+ E! i. h5 k l |
var minValue=15;
4 u- |% ^3 J; m9 k" K var objs=page.getElementsByTagName(objname); 3 V& I3 K$ \6 M6 k6 b
! i/ J8 K; j/ g @: X" R if(objs.length == 0) / J. R/ E+ d0 R# p' o
{
3 `1 q0 w* X# Q/ x7 s if(debug)6 k* d6 e- K) h# b6 S
{: z6 Y% O- m& b1 |, W
alert("no object found!:"+objname);
& C* d2 M9 _. I6 p: A; u }
' i- S" V( _5 F) O }
* x9 F- m+ A9 i else
& s; T* k# E4 D {
8 U, ?: m2 U9 Y/ ~! _" w: B0 P
8 T9 j. [( K' o1 g/ M2 C( W u for(var i=objs.length-1;i>=0;i--) ! v0 d Y! m8 Z$ u# U$ d! @3 B
{
# K$ L- P! n3 D, n4 R- d5 W" e5 a var node=objs.item(i); 5 [' n, d( d, e( E- ^, d6 @- o2 D
9 y- D, p0 t% T) w
5 l% P3 S+ p9 T0 Y
if(this.getobjstyle(node,"display") == "none" ||
7 u3 k& g! \ x4 b ? this.getobjstyle(node,"visibility") =="hidden" ||
0 F" f, }( c5 @0 y6 C parseInt(this.getobjstyle(node,"font-size")) == 0) & z0 n. j" u8 D. v
{. [7 {+ C% _3 Y" Y
if(debug), {& R3 B# c- b6 D
{& [: h C- Z& d L$ \3 g2 K
alert("remove invisiable!");# U5 P! H( I+ i1 x) k
}
9 h$ V: @: n G6 W6 d node.parentNode.removeChild(node);* \8 F1 V |; g* R% w
3 s: U/ S m4 E }6 m: l& n5 |. Q/ a' d
else + N( q' F" z# J
{
* j( g" [2 }$ u$ | r if(node.parentNode)
' Q* p" k. x, n% s1 r2 h {/ G& r$ _2 F8 Z; o
var orgNode=node;; m/ D4 P7 p" }
var orgColor=this.getobjstyle(orgNode,"color")
; g6 E/ z0 W+ V; M" q var orgRGB=getRGB(orgColor); " P, q% n) C% O# h- i6 i1 ]
9 |" k4 |% `3 u$ d1 H' K0 H var parentNode=node.parentNode; n+ t! t+ h- x" T! m
var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 s! u1 v1 m. _/ O 0 C0 A$ F( L" l7 P) [
var isLast=false;
6 {" y0 ?8 X! I$ p) a ; M+ w" s* \# T0 J) j
while(parentBgColor == "transparent")
; e6 d H' f Y4 A6 x' m: q5 Z B, n {
( N, r7 O5 z4 c' c! q I Y0 ^
2 x, C6 D* o# I8 X
9 O( x7 S3 y, ?+ z1 p- [ if(parentNode.parentNode == null)
& Z9 Y5 j9 }# M {4 |: D ?, B, L; S) ?
isLast=true;
) {1 Q0 ]4 K/ h9 ]5 {2 S break;
. \! r' Y5 T _: e/ Y ]( ]# m, } }; @; g i$ z p$ c
parentNode=parentNode.parentNode;. A( p4 r/ c) y/ R* j6 w) L
parentBgColor=this.getobjstyle(parentNode,"background-color");
+ R/ n: |% |4 R/ j/ i' [' y
+ P" w1 p& C/ U( i- R$ ? if(parentBgColor != "transparent") 0 q$ G% [4 I5 g
{4 C! C' L+ K6 k7 W
break;" O, A9 N* g' C: k8 O
}( N% E3 K! |- x! Q) C
}* `: w, S/ J+ {3 F" B+ L, e# T+ B
if(isLast) - {0 z. B% `9 L
{
' @3 J( ~2 D* l# H' J if(debug)6 z% t$ a% j6 E2 @. u2 E* o9 X
{
. H5 t8 s) P2 H0 G: O alert("last!!");
. W) e4 @, M: B- a- s; u, p }3 ?: j' e5 y$ J. d
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% ^: u' X6 m4 C% }5 _* W4 x {3 V- m! z! U4 Y0 R. @
orgNode.parentNode.removeChild(orgNode);
/ f, M r7 L6 @5 I6 u }0 J) a0 q( x3 z2 G* d% d
}3 U" j& o/ I, T- v5 ?
else, Y! y, {1 _1 `) I; r) ?
{
q* ?: ~, |* Z, h( h& i if(debug)* w. p, ]' K1 X! C2 }
{
6 O) `1 [9 l! G6 P: X9 u3 x alert("compare color and parent bgcolor!");
, D! [; D7 o" h- p }# K8 d; `. [- z) p
parentBgRGB=getRGB(parentBgColor);0 I1 Y* {: O( O2 T: L4 ^
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
- [$ U' Q- W, C! d3 M {
- [7 n. F8 w [; c/ b- a orgNode.parentNode.removeChild(orgNode); - B$ n) @! O5 c: i" l) k( W- i' J
}7 e0 z( V' {5 k# v' N9 Y- h/ _
}
; _# g9 l& M" a! l! \! Q' g1 Y. ] }
5 l3 ?- k" f w% X' u( A }
! n: T3 s4 r. v& s. L! F$ X }
6 n4 D- u) |& E M4 i5 m' ^: P' |, d }
$ T+ H1 t4 A# ^& e/ e( [- q4 N
# _+ L7 g p2 }. V
5 P; _* C2 {& O" ] var itemFrames = page.getElementsByTagName("frame");
1 y! o1 H: M9 j var itemiFrames = page.getElementsByTagName("iframe");- v) t; G O2 e( w. c/ N" A. T
1 B' z E( l: k, `7 @$ Q var frame, iframe;
6 O8 S6 `( O' ^* ]) n if (itemFrames.length > 0)
. L9 S1 S+ B8 E: x) P, s {' ?/ b5 P0 o- m1 S. r/ i
for (var i = 0 ; i< itemFrames.length ; i++)
, D& X! F) M: |' v {
- @) F4 [. _2 O0 P) P frame = itemFrames.contentDocument;
0 g; c: u1 X- ^. N$ U* N% O this.RemoveHide(frame,objname);
' K% K- ]6 }: Y3 T1 P }2 P+ r. j6 n, @* R
}
. y1 y$ `7 }6 `, R7 M& {( O if (itemiFrames.length > 0)/ A$ G2 ?( X& O v
{
4 W8 I4 f3 r% M8 S, l8 h& t for (var i = 0 ; i < itemiFrames.length ; i++) * @. Y N: l" g+ @4 A/ p! q! M+ R2 c
{$ _6 J& F9 ]: i. c& i/ Z% w
iframe = itemiFrames.contentDocument;
8 ]& d3 t6 _) a% H- @2 S/ \ this.RemoveHide(iframe,objname);
4 d) F& G0 \7 w: z }1 s+ s6 j1 g1 V& R: D3 N, d, u
}$ A3 @+ q& K) \; {
}
6 B' {+ M7 i+ T+ h) F* s6 J catch(e): y, L: \5 N5 r
{ g6 Z" M z: `% |2 \) c6 {) W
if(debug)
6 \ k/ U( n( s/ U, w+ t; g {8 n J! e' Q8 V; E
alert(e.message);& j3 m( r! U2 h+ q
}
% u, |0 M% V+ t9 \* f$ ` }
2 r. J# n q, j' O/ |2 b }& l; q* e. |' R7 j; L
0 r1 i- K! q+ `}
& q1 F+ S8 P' N1 L( H% r E( _5 \$ d- x; f9 q% A: Z# }
function getRGB(colorString)0 q# T& L3 X0 \8 G2 y- l# O' l
{
+ Z) A" M* f# F$ [- @4 }! b3 N var RGB = new Array;
4 E- @3 k0 [2 ^* Y; t6 x var tempSting=colorString.substring(4,colorString.length-1);
: w0 g+ c% _8 |3 A6 |. [ var tempArray=tempSting.split(",");4 c. N9 N. T* \9 Q+ u
3 V: W2 D1 A, [9 \* u RGB[0]=parseInt(tempArray[0]);
+ M) |1 M; T# J5 b& i RGB[1]=parseInt(tempArray[1]);) T% I8 r- p$ C8 p7 m
RGB[2]=parseInt(tempArray[2]);
6 E5 X& j) R8 h( y7 D & J2 r" d- c _
return RGB;
* m5 r, w9 w) i7 e: M}5 E% I, ~) V4 X7 h" ]; N
function keys(evt)
0 O& ^" g$ t% K0 R; F { # v* Y0 I/ d, @' C; D( n
if(evt.ctrlKey && evt.keyCode=="81")
" g M/ [5 q1 T: z- P' c9 j {
% T( X* r1 c4 d% p5 l" |3 }+ M CleanHideObj.on(0,1);- u+ j. b5 `' T2 y% R( M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' L; m- l1 k% ^+ u( d; k/ X
" X) i+ ^7 a0 i# k8 U }
" h# F3 G5 a- I+ } }
1 _2 _: s7 l3 U1 r4 ~9 Kdocument.addEventListener('keydown', keys, false); - m m2 k" c) P+ M8 X f6 u
GM_registerMenuCommand ('Clean Hide',
! j' p- k4 E) ~function(e){
: {- g) j; G2 E& c9 lCleanHideObj.on(0,1)
5 O) j7 A# _0 T0 p4 g% A6 Talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# ?7 W% ^6 O, E+ ]
});2 ]# w" Y! c# N& V
|
评分
-
查看全部评分
|