|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& Q# q# g) \/ ?' V; [- [+ ?3 A/ Z3 J
6 l! ~( j: Q* d4 l7 y! ?火狐插件,用猴子6 T0 \: r. I J. y5 Y8 e
8 X, n3 t6 t" l% j" Y6 gvar debug=false; ( y: E, h" ~ \
var CleanHideObj=new CleanHideClass();
2 l' ~+ @$ L. {) h
) K8 F: N; X0 D4 T- ffunction CleanHideClass()
3 _" O, {! w' b& k5 p* |{ 6 E* `0 l- n$ \
, d9 j& R# G8 F; ^$ a this.on=function(id,bMZ)
" f% O/ l* D$ n' g& s4 i2 C {
# J P: r T; C( W' L 2 T5 l8 E& G2 K# P
if(id == 0)
|2 D' c- c$ L. y; q {
, k! N! I- y% R6 j var page=/* document.getElementById("content").contentDocument */document; + ~3 R' F( f. g. B1 w: A$ f$ G" G
this.RemoveHide(page,"span");
: H' l3 t0 l+ @7 s& ?+ y7 u this.RemoveHide(page,"font");/ O! X3 L' n" k. w+ T. k
this.RemoveHide(page,"div");
& s% {+ Q9 A2 }* w7 S3 m, E8 T3 [4 g this.RemoveHide(page,"p");
; j0 {* g- a6 v) v2 p8 |$ {
+ I& t5 t/ k% L# } h3 W. b }9 ?# w$ ]5 d: B
* ^# q# m) y" w, ^% `9 x+ c1 ^
}6 T& I+ k& C: c- M3 z# U
this.getobjstyle=function(node,prop)9 S! ~8 H& v) A8 e0 @& `
{6 O1 h. x" k2 D q4 c7 V- O2 i' i
try
]6 E4 c, y+ x9 E: |& |2 ? {
. j" s4 c- w9 L. c* \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
6 C$ y( Y3 {: z/ W6 h1 S9 e2 T) T q( @ }$ w- c/ R* r/ y8 x0 |% y4 S
catch(e)
' Z& D# n" ?7 D% v. a {
0 R0 u# {8 {7 r9 v if(debug)6 ]* d6 C! M# h( {4 Y, P2 _
{
$ s' A2 d, i$ S2 z) w alert(e.message);
2 F. e/ n3 L& p }
& @3 y" @% H5 s* Z t9 _
4 _9 C5 b" t2 b. ?- w, K return "200";
5 g( {6 V: F( ?4 [4 Y/ z7 b' s/ s! t }
* Q) z/ h1 R, S) R }( z7 @6 ~5 Y# I. ~1 J/ Q! k# a
- i/ q" v4 O$ e: P- R
this.RemoveHide=function(page,objname)
# i' C9 H" [9 O& o u8 ]3 d {5 b; |, A$ v! ?- n2 }" z; y
try
. Y' I/ d: w: r2 o& }& e {$ Z% P7 [0 \& B+ n5 b% F
var minValue=15;3 f, a+ s$ s# L# S. ~' l
var objs=page.getElementsByTagName(objname); - ?& v" V. z, Q
6 W8 U0 ~3 W1 j/ T
if(objs.length == 0)
7 [) O$ L7 R3 T {
7 |$ e7 G) }- ~2 y' ^) j* z if(debug). u. X; f9 j) z4 z& c" O/ S) b) _
{! V: Z4 B' _: I' Z/ G h
alert("no object found!:"+objname);5 m; K/ b: z/ Z5 k T+ h
}6 ~3 m; g' D) f0 n2 Q$ j
}
/ W I4 ^% g9 |6 o" P/ ~% _) r0 q else3 z/ f T4 ^! P7 R5 C
{
! Z5 f6 F' J, v/ P2 e4 l
( |' g. t. }- k$ O( j for(var i=objs.length-1;i>=0;i--)
/ m' v; c; R) y& e; m {
) B5 ?+ \: K. y var node=objs.item(i); + P( g! Q* ?' C1 K9 S
1 k4 ^3 I! b% m/ r' K; k
& `4 r4 u' k7 p if(this.getobjstyle(node,"display") == "none" ||: e, ], a( H; Q
this.getobjstyle(node,"visibility") =="hidden" ||4 R. {! y9 d9 M; j) ^
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ P- `, M0 k" }7 H {
) O+ ~3 A3 `* B% i, j3 [ if(debug)- p9 I0 z; p- |% y4 u: _8 _* O
{0 h/ l5 `! z! B3 a/ j3 _. ~& H: m, r
alert("remove invisiable!");
* E) f* j5 D7 |1 O% f }' f% g3 R P5 s6 o: J) y
node.parentNode.removeChild(node);/ n8 u3 }2 s0 K$ o0 a2 q, h
/ B. w3 A* u3 h& ]& b1 a }* A3 G% L4 X/ u* Y5 w
else $ j. W0 f: w' A/ Z/ D9 o, Z
{
# |( a* c6 h$ b8 p& {( X; C K if(node.parentNode)
1 u3 r1 C7 q& s/ H& |3 o. x3 @8 U {
) ^' |5 x' ]+ p var orgNode=node;
' H* O1 |5 S7 [7 ?* J; i var orgColor=this.getobjstyle(orgNode,"color")+ _+ p; I; `2 V( G
var orgRGB=getRGB(orgColor);
/ b. \6 |( R, R1 M; A0 E 4 e& k% Z' D5 a+ r. N
var parentNode=node.parentNode
7 F* ]; U# i3 S6 V- E! Z7 \( i var parentBgColor=this.getobjstyle(parentNode,"background-color"); T( }( x M% l
$ {: P: {6 d' O! p( [ var isLast=false;" q* c) v* s. b: P
& Y M7 y( ]+ ?9 q4 a# E+ Y; ~ while(parentBgColor == "transparent")
, t, N: o/ m; p& t7 ~1 J" r, P! S9 p {% b/ \2 w: c% x8 _/ C8 K" k+ q
4 W- c2 J' H/ e( f8 L
+ z3 G2 {' Q7 S# x5 m1 ] if(parentNode.parentNode == null)
^5 |# ]! s$ F5 Q {
% Y1 n& z$ ^. Z- r( \3 U) `: Z isLast=true; ~6 I* Y7 m+ E/ G* h
break;# y7 s! G, u$ M; e# _3 g
}
! U8 d% C. n. l$ r5 o" n1 G# T parentNode=parentNode.parentNode;4 H7 l' C$ Y! |- I5 n
parentBgColor=this.getobjstyle(parentNode,"background-color"); |3 C, B/ ` V2 f: c- y0 r
% o( K. }, r1 M) Q7 {4 V5 k. ~
if(parentBgColor != "transparent") 9 Q3 O( I7 K& R, m, O' I
{! e/ Y" ?4 g3 r8 Z& s# C
break;
" M; y r' H% x4 X7 W4 L, o } ]5 {6 Q0 u2 R; j& e
}
' e; R$ Y J, R h/ y4 m7 G- ] if(isLast) 0 L( _7 D2 r) D' b1 P9 \) c
{
. y4 ?. F8 d$ g# d& a if(debug)
* q; e6 a5 g* O: I {
/ X- H! V# S3 [: q' F& I9 e0 M alert("last!!");# G ?4 ^5 F7 y; T1 E
}
* F( U. I- _3 K! |9 g* s& G; [, ` if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* F; s0 Q. W" q& _( F H' \
{
* z) F9 l- G- S orgNode.parentNode.removeChild(orgNode); 8 b6 r" E3 U% H3 ?# w# ^$ c# i9 Z9 h/ Y
}0 F! o$ Y/ O; A7 N
}5 d, G& p+ p) k
else5 Y; P6 X/ W! j" o
{6 c: p% p% N! W7 O- j: F& g$ c
if(debug)/ i; ^8 w2 K6 Y, O8 d& s. |. e- i8 L% R
{
4 J1 R1 j# A! l alert("compare color and parent bgcolor!");1 ]9 c* v t! J) H( L
}
+ ^* F* h0 s. }- P parentBgRGB=getRGB(parentBgColor);
! [( w0 ]# J( Q# b0 Z( X if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))( o: h2 n6 ]: `8 [
{
& @; h4 b/ x4 a* z4 d: L/ i orgNode.parentNode.removeChild(orgNode); , W8 {5 O. @( G
}
a3 Q5 s) @* ]* Q+ }8 z3 a: X }* ~* o+ j, l% @) P7 F, ?
}
3 s. [3 S7 k4 H$ T( F& y% e }
8 z6 _8 H }. i i, n3 K6 {8 \5 n }
* v; [' z8 Y/ y) z- C% U }
! |* C/ @/ a; f
: w8 |" H' w7 C# y& E
; {5 I, A7 H. k% D var itemFrames = page.getElementsByTagName("frame");
; K3 O& u( [- I0 l( I' a: e var itemiFrames = page.getElementsByTagName("iframe");0 D1 O: F* t- F* M5 N9 Y9 {4 j. v8 T1 S
- O7 Y" @) o$ Y6 r b) n var frame, iframe;
- }: F! r' e7 W& f) R Z! w if (itemFrames.length > 0)
- N, a/ j6 U* u" l: |- t {* J- ]/ F$ x d& Z2 C
for (var i = 0 ; i< itemFrames.length ; i++) 1 w1 e- u% V0 @) e% P3 D1 [% C
{
% [2 s, l' W3 q3 d; k* t0 v frame = itemFrames.contentDocument;. ?9 J- k, E8 z$ N5 a& e/ m* s( d
this.RemoveHide(frame,objname);
1 f q+ Z! i, @0 h0 U5 c: f/ y% `$ D1 q }/ H6 C3 s. u a2 \
}$ \2 r$ N# @" T1 I
if (itemiFrames.length > 0)
5 O0 k/ i/ q" U+ y( A {# S6 d1 @6 Y/ Q2 H% N/ ]
for (var i = 0 ; i < itemiFrames.length ; i++) 9 A Z- K4 @. e3 X5 d/ B) ]
{
6 d; |- y" A; c/ _ iframe = itemiFrames.contentDocument;1 m! E# ]" J" b' E+ o% G
this.RemoveHide(iframe,objname);
& P: A; y' l# a3 [. t r }
, ^. B) `+ j! C5 `2 [ }
2 M2 O# E9 G# ?/ |9 o z- o } k0 a7 I3 d6 m( x/ C$ _' R
catch(e)2 H2 Z9 Z* _8 s2 E" L
{: ` I6 ~% e* Y3 `5 l1 M% b
if(debug)
' f' q% H, r7 e) e! W* k3 N {
9 E: W0 j6 O+ D/ t }, N& F* \1 O alert(e.message);, c1 t( v7 t3 N0 E# G" @0 n# K
}
3 ?0 b. N0 {$ n$ `/ {) g& S. y }$ A/ v) X& @" l
}
( A5 z2 }* s- S/ G , w+ W6 V k }5 {; X$ H
}# q) q# f0 X Z2 U
6 C, D n0 j* N& S$ H$ t9 p9 s) V. X/ Xfunction getRGB(colorString); n k5 J: l! Y" T
{
1 F5 Y6 ]3 e3 r' M4 h* L |, K V7 Z var RGB = new Array;
( N! p7 G' Y/ n4 B) U* |4 r var tempSting=colorString.substring(4,colorString.length-1);
, a/ P0 c; u& Q& z) o0 f0 r var tempArray=tempSting.split(",");
' d: p% m# x5 @9 P- o% n o4 V# }) f2 Q/ N/ h3 H
RGB[0]=parseInt(tempArray[0]);
3 K6 e; _, r L/ \# m8 s4 L! O RGB[1]=parseInt(tempArray[1]);) b: X6 S) A7 F U7 V$ j8 O6 R
RGB[2]=parseInt(tempArray[2]);6 I% J6 t6 C* M: `
, T2 W; N5 a# v) V: |' V
return RGB;
* h) |% }/ b' Y9 W; ^}, y5 E# Q- Y1 i6 J9 W0 w8 S& Q5 t. K
function keys(evt) $ N( p) l* k$ |) d3 v' ~+ Y5 R0 r
{ 8 I4 t: \4 }, d
if(evt.ctrlKey && evt.keyCode=="81") : e, R& X- Z N! [
{
4 Q% ^" X. o# E( }# B0 N CleanHideObj.on(0,1);
/ y1 F& {" L; Z; h2 U alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% y, i1 F. M) V, N5 ]
* ^, P" Q) d/ h/ N }
8 j% }# M# l6 O/ G2 a } . C; t/ i. Q5 k" H& ^& m( E
document.addEventListener('keydown', keys, false); ! e" j9 ]* T$ y# s c$ |
GM_registerMenuCommand ('Clean Hide',
- ?) [) [- \1 S- s) rfunction(e){
3 Q- U) S3 X% |CleanHideObj.on(0,1) f) J' u/ p5 y. j5 K6 r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# H" ~) H, e% H6 I% \2 t9 c
});
* ~$ F6 R- B) D+ Q3 S! g1 Q |
评分
-
查看全部评分
|