|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 Z" b# h& Y; [8 i: N
! U4 V! o: S* P: Q# | o7 D火狐插件,用猴子$ S% l* ~7 i- F, }
R3 h, @4 b7 j3 U( s) Z' |var debug=false; ) \6 ~0 R7 D9 Y$ u, I- x; k
var CleanHideObj=new CleanHideClass();% H' e! |6 A9 k8 q/ H. k f& k
* J2 H. e$ y- Q
function CleanHideClass()
, I; G) p+ ^% j8 l' Z* b{
0 f! c9 O" f* R. t) d9 ?
) c% `: Z* m s/ J% {: O this.on=function(id,bMZ), T$ n, ~" h. Y' o* b5 r% M q
{! r3 H, m8 H: ?; B
) q# X U8 z! b if(id == 0)1 H a5 S' u! z! n
{
8 I+ ?& p3 x. R3 i; n2 H var page=/* document.getElementById("content").contentDocument */document;
% O" U4 M z6 [" B1 I, s! U5 \8 e& f this.RemoveHide(page,"span");& c5 x) C/ @* a* V L1 L. L
this.RemoveHide(page,"font");
# z# Y, i6 r8 j: n, I7 B this.RemoveHide(page,"div");
0 E5 f2 Y6 d1 t0 s this.RemoveHide(page,"p");: C6 C" A! L* z: V* c0 B B
# X. J/ W# c% L5 [; B8 Y4 L
}1 l/ b: Y( |2 W8 U2 Q: V. I, x
! r8 |4 @0 h0 s& s% e
} o8 B7 t9 }4 H
this.getobjstyle=function(node,prop)% S3 v$ I8 }- K2 c
{6 v" y8 ^2 ]' t# F1 N
try* e, _% [. Q. b+ S" |& B( p, O6 Y
{
( y! _3 o- L' o: e return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 h8 k& Y* v% ?5 i1 I( K U6 R
}( ?# G7 C, P3 H! L% @& |
catch(e)& U) k$ J( ]' A! G. y' R# @
{* \2 x ?4 ^2 q! Z! j: V
if(debug)4 _/ s; W. f1 k I7 e
{3 C9 e* t; T ^; c5 M
alert(e.message);$ g( ~$ U! H" f& Q2 F
}' u |! O- _! J2 t' d
9 p" r* ^; P) g return "200";) v/ e! c J. |# |+ B0 m
}
/ o ^- {9 O# a0 E. Q0 S& F; g }
0 u, K. ^9 m5 Q1 o$ a: b% n
/ i( X0 w. p2 ^1 l; T% X& H. F this.RemoveHide=function(page,objname)% b0 u/ z7 \" x3 D; P1 ^4 L6 r
{( Z, N0 K$ h' u: k: V6 o' Z' l4 M
try/ V- O1 ]5 M7 N* n
{* W5 j& y; k3 N7 Q
var minValue=15;
* e+ r# a" d. k+ W# } var objs=page.getElementsByTagName(objname);
+ D+ F" b$ L+ {' G) i& V4 i9 ^7 S, f
if(objs.length == 0) 4 @; {$ v* F9 \, j
{
- _9 U* q( k9 i4 Q: o' x if(debug)
2 y9 Z9 N& e% V" C. t {+ n- i0 D( O o: T9 J4 T5 C
alert("no object found!:"+objname);6 W% \1 Y. [9 A! [6 u7 n# n
}
% s9 E% K* h* ` }+ g+ f! _1 w8 ~/ x5 i
else
" m! j& b3 \* i3 J# m: f( E8 ~ {
9 `6 B7 M) v( J( z0 Z0 h8 m" c % L4 N/ Z- O6 b% G7 K7 Z
for(var i=objs.length-1;i>=0;i--)
& {+ U3 V3 E* k1 A7 s {* t$ m$ ?3 q; J" N, R
var node=objs.item(i);
" m# C* ]% {; Y- b / D% ~8 f1 A2 J/ K( h
7 n2 s- R/ s5 r( c, K8 z0 w9 h2 n
if(this.getobjstyle(node,"display") == "none" ||
5 i: v) f" @9 M this.getobjstyle(node,"visibility") =="hidden" ||: V+ _7 p( S" W( U8 S, v" N( p3 H
parseInt(this.getobjstyle(node,"font-size")) == 0) ) L% q, u: N/ m, j; A
{' K. J: r% a5 H- p6 A
if(debug) H2 P. v8 n- g7 f
{
" y* @/ _3 P( G# o4 {* N3 x alert("remove invisiable!");
/ o2 v: B3 A1 a; @ } R+ [8 z/ ]. F) L
node.parentNode.removeChild(node);9 c! k3 b/ e6 l. C5 e7 m: ]5 [
d, ~" v0 b. F7 @ }
* |) ~. N, i! _; B else 5 K" |# { W" j$ w0 P
{
+ p6 _3 a. ], ] if(node.parentNode)
) t* c" m# j. u0 g9 b2 p- H4 X {
3 E7 d# z Z# Y# m# r; { var orgNode=node;
: @. Z5 X5 U& u# J" T( Q var orgColor=this.getobjstyle(orgNode,"color")
; A2 P+ Z& G, h: Q var orgRGB=getRGB(orgColor); ' G: c+ s( `) ]: o- J
1 s1 f1 ~' R, G6 U! f var parentNode=node.parentNode. X, r {% F7 w6 u( e% L
var parentBgColor=this.getobjstyle(parentNode,"background-color");7 g; o& O3 ~, p, n* B
7 k4 R9 h( `6 x7 O8 D/ S9 n/ b7 y var isLast=false;5 e5 w, j" v' f
1 V- z1 ~( a7 d" }% P' J9 E m while(parentBgColor == "transparent")
* R+ v' K* Y$ D c7 \1 j5 d {3 z( k5 J; H9 M' d1 D9 D
! f; ~$ W. y" }$ G ) j$ s& k$ Y! x* b3 B) w( E
if(parentNode.parentNode == null)5 {, [& `+ U0 g
{2 i; {! E. u2 S7 g7 W$ U
isLast=true;% M+ u- z% M9 u8 L1 D" Q
break;% y5 @; p8 J2 E0 N6 a
}
( l' ^5 Q+ I, [ parentNode=parentNode.parentNode;; U! }8 |& @' s" W) o
parentBgColor=this.getobjstyle(parentNode,"background-color");
! v7 i7 i) b& c" t7 h/ r e; r7 x8 ]) k( k
if(parentBgColor != "transparent") 5 @/ ^+ g0 l# C4 I: V
{
9 E+ u2 t; J- I3 b. E& L break;
; `* j- T# n+ Q6 l/ T }" a$ G. j% O2 i& k
}
, l5 @9 G: |9 K3 u, \( R if(isLast) ! {8 H# X& Z6 o# L% F* Y- C! e
{
F: E7 }' X+ B4 B if(debug)
9 t4 f/ K8 Z) M* z: N {- Y8 b" t# S/ ?) J" O1 K2 r( d& l
alert("last!!");
" Q5 D: I# L: ] }5 e& t: J5 o9 D& f" L
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
0 T; j0 m/ g2 h8 l' ^ {
% V6 X" H; O' E+ b% A, f/ { u orgNode.parentNode.removeChild(orgNode);
- E) {' N& j4 ?) v" T6 }9 e }: g E& Z% n+ d+ ?' e) K
}
" b2 R3 [: J' N2 i else3 J4 H2 U1 G& J. a
{& T5 F! c4 n3 `. h$ m/ q8 u
if(debug), G9 B+ c. c/ h. ]; a9 _
{
2 X J! `: G- _8 H) b/ E5 w: T alert("compare color and parent bgcolor!");" A/ ?7 i3 E: Y& R, k. K$ b
}, e9 @) d, T4 h4 O( d: W5 U& Z# n# p
parentBgRGB=getRGB(parentBgColor);5 i% H$ _( F' S
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* x9 ]2 D. s. t- k6 [
{
, e. c- R. _5 ]! I; A orgNode.parentNode.removeChild(orgNode);
; a4 f" W) B- u; q/ G }
3 U2 g# p$ Y& ]9 q }
/ ^; j6 Z7 Y2 n+ m' K }0 ~; X! S- R! S' |0 U& j# \# q
}
$ o# N f I5 e- c }
# U8 V2 A" P$ Q# _9 [& r* s }
o+ h9 m5 q& B+ L6 I' ?7 b : ]/ X. f j: K6 j: F. Z& @7 h2 J
3 r; ~& \+ I! U- G
var itemFrames = page.getElementsByTagName("frame");" Q! I8 b/ Z; s6 S4 o" n" X0 G
var itemiFrames = page.getElementsByTagName("iframe");
A( z8 ^* D3 l+ I$ Z; U3 P8 V7 S- M5 j
- \4 C+ O( c% _0 E: e$ [+ i" W var frame, iframe;& ]" x4 F5 N- F0 R4 ^8 F. q
if (itemFrames.length > 0)
; C2 Y: B, s% P6 y. |2 T: r {2 U# F! m6 ?, `# o) R
for (var i = 0 ; i< itemFrames.length ; i++)
0 @, l1 w. f$ F% e# J& R8 Q {
3 c, H, c( ^ i frame = itemFrames.contentDocument;/ G3 p- t) _# J: M8 ]
this.RemoveHide(frame,objname);
1 }1 {' V' j+ _ }# O- ]0 w5 ?2 w5 A; [5 H
}, d/ ] ?/ J- W- G: w
if (itemiFrames.length > 0)5 b! X$ p. }" l& T. ]2 F! c2 Z: T
{% x- w. M6 w" c c/ f
for (var i = 0 ; i < itemiFrames.length ; i++) C+ y. B @6 W" Z
{
8 g2 V: k. G' n6 T/ j. n iframe = itemiFrames.contentDocument;" R2 d: M' M, C0 w& f+ }7 A+ B' o
this.RemoveHide(iframe,objname);
7 I& R8 n% W2 C$ G. \$ G }
+ L& R$ z0 M+ n5 X/ L7 |. z }
' y- {) Q0 ]8 T/ Y }5 B, N. W+ w) `* P
catch(e); d U# j- ^" {. ^7 G4 U+ c
{! ~* q5 T9 c. H5 t! u# n% d
if(debug)) c( `4 ]" J/ `/ X# p; \0 D- d
{/ p8 m0 c. i' T2 {9 s8 e) H
alert(e.message);% \* \( v9 J+ @; B9 y
}% \6 A% N2 |% O6 ^
}' ` {, t* K) N: v }/ e
}# M' L* B0 A, Y( ~0 L
: J( y4 u0 m+ X" l2 G: ]
}5 r( f2 s$ S& h- t
( ~6 ~9 s8 t5 A9 P; E, w( C( Jfunction getRGB(colorString)
1 w5 l% G; k" b& g, M [' x{
8 w4 M) L% ^% z& B& k. u9 x8 M; h var RGB = new Array;
?& [/ P7 _9 X$ D# z1 O var tempSting=colorString.substring(4,colorString.length-1);
' @; a6 i2 z/ I var tempArray=tempSting.split(",");
9 q) z* P: D. ~3 F* I4 e2 y6 w2 N' T1 m6 f1 E; _% I/ i
RGB[0]=parseInt(tempArray[0]);$ i) m2 Z! e* `( B# q
RGB[1]=parseInt(tempArray[1]);& z' O% w3 m P6 ]- F* p
RGB[2]=parseInt(tempArray[2]);; z; s, G ^0 B& c, r( B
# y7 _( C% K$ j- ?+ H; t return RGB; @: G( O6 F, e9 {4 o$ H
}' Z! d7 f3 a# |( H; f' j- ^8 s& c
function keys(evt) 7 c( [) {: @3 Q, H/ C
{ ; ^" C+ t2 M3 l- I
if(evt.ctrlKey && evt.keyCode=="81") 9 C4 r* d$ p) x) r2 S4 w
{ , U' I7 ~+ Z8 \' N7 @6 m, C
CleanHideObj.on(0,1);/ e# |4 {: i M4 L9 q. A0 s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 q/ C& q1 b! i) T: l! B
% _- e& r9 i! p5 z' c. N } & S( U" K5 d$ _& Y3 `/ K. y: F( u
} 5 A8 a- G- a8 A: R. C
document.addEventListener('keydown', keys, false); 2 c3 l. {; ` t/ P
GM_registerMenuCommand ('Clean Hide',4 k4 _8 E: F( s' y4 i9 n
function(e){
* R l5 N0 Q! C! sCleanHideObj.on(0,1)
Q% b0 _0 p* O8 C; valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 G. T: s6 f- F M% c* A, b});
" Y2 \& P- ~" u8 ?- n |
评分
-
查看全部评分
|