|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
]' B: h& h5 {, S5 z- G4 ]* x
火狐插件,用猴子% @5 K% s- h3 M* |: h2 \- D5 M
2 {- I0 w& ]( F' Y% `/ |
var debug=false;
0 [/ @' I6 v& W; Z* m6 H" Lvar CleanHideObj=new CleanHideClass();
( o, _( ~1 [+ C/ D+ S5 S3 u5 T: D
function CleanHideClass() 5 O! n: A. Q4 h; n# f
{
! J" [1 X9 m% { ( l+ `- ?5 e6 ]. T) t7 P
this.on=function(id,bMZ)- y1 T6 b1 u$ p! Z
{" s( D+ x- C. z* o
7 C3 {/ E( f6 {# l- F
if(id == 0)7 ^; ?' \3 Z! j9 n2 s* f: @
{
7 X; `, U" M. V3 {4 | var page=/* document.getElementById("content").contentDocument */document; + x' I; y4 \, R6 q D- _ F# V
this.RemoveHide(page,"span");
; u/ n+ S @- n% f* [* k this.RemoveHide(page,"font");
. Z! n" D7 ^5 x4 s this.RemoveHide(page,"div");
% x6 t; t$ E! [* K }# J( A this.RemoveHide(page,"p");; C9 q2 x% K& O8 Q; Y+ P1 J' Z" J
- z2 ]- @0 _* W) D. q+ Y! c. z+ P }. m, ]/ Y8 |' _
6 Q% a" c3 t1 |1 h* ]6 ^
}
. ^3 _6 |+ z% a0 X this.getobjstyle=function(node,prop)
7 {1 _( e% {% c {" D5 i* k) t* s$ E: ]
try
- R8 G! Y! z. ^1 Y- e. X5 u% U6 Q$ v {
# {' k% V6 X$ {1 v& B7 r return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
: b+ F6 m2 n. e1 I; e/ S K }( _& t# }) B" z. E0 U
catch(e)2 _6 y I, J6 x n" i# a' d, F
{" G+ K$ u3 [9 @, m
if(debug)
6 J' m& A2 s" H' b( i6 b {
! G. R2 T( O6 S alert(e.message);
. D0 E' d" ]# V! R. L8 Y- z } j* n) t0 O( _! E
9 W5 a! ^' i6 C return "200";! |& B* _( }/ H( r" _9 [
}
( u( j5 q6 x: h% b0 k }' t- { }
1 e1 C9 P+ J: x2 p
" ]. L% H9 B+ G; I9 q this.RemoveHide=function(page,objname)
) l; v" n" P3 y9 i; |! u! R {% Y, B, O! I" n& z0 P
try& ~; w6 R, {3 `1 H- {8 ~2 J
{
8 i- w" G- h; F- r3 h6 x var minValue=15;0 F4 S* j( a8 V, i
var objs=page.getElementsByTagName(objname);
9 l% I5 N" A# T: E3 G
7 J3 u( w2 ?- C if(objs.length == 0)
0 X2 \; e9 t! ]/ l {+ }1 M4 P1 D! \/ I0 B. N- H3 G
if(debug)
' }6 p7 b! u# `9 V8 n+ S5 u( | {
# D; `( \0 f9 ?+ | alert("no object found!:"+objname);
0 P$ f/ F/ R) v4 T6 x }
# D- c- }. _1 [; D }
( F4 H& _5 Q+ J% N+ g5 t6 {0 s else
; |: s& R; B, f1 T$ g2 t$ C6 d {9 j! s! z1 U; h( I/ Q! n
% ^6 ~! H) V, A) s4 f5 ^ for(var i=objs.length-1;i>=0;i--) 5 k; u+ A0 M& d/ y
{
q9 [8 A$ k5 f& i0 ?' [; f9 a% p var node=objs.item(i);
" J0 i4 p3 [$ j2 y; L: G$ W* t% B ( L3 G6 o& ~' `0 y; e! z/ {( V$ ]
1 N) u9 @: w. j) h5 x4 ?0 [( Z
if(this.getobjstyle(node,"display") == "none" ||
6 R5 R( v5 l G5 ~( S A) r6 v this.getobjstyle(node,"visibility") =="hidden" ||
; A& B! o% D2 N7 _0 L' p parseInt(this.getobjstyle(node,"font-size")) == 0)
8 [: R) p9 H. M; f; k1 i* y5 c$ t {
; r# l# G+ z% p* f* | l, Z- Q2 `2 D if(debug)+ F3 `5 {' T/ V$ c# o
{
0 e1 P3 Q( O7 V6 e% O2 }5 u) }) v, Z& e alert("remove invisiable!");
, O3 L& T9 R$ _) D1 [. r2 V/ J }
& [% f; p: r- R4 S& ]: Y8 u node.parentNode.removeChild(node);
: m' m, a$ s1 s: B $ I7 b3 ]9 \1 h5 F& ~
}
- ] L- K+ P; F# v% C5 w else " J; C; G! q# B" K* ?% c. n
{
- ~* P/ N2 Z# h/ Z+ ~8 `& p- v if(node.parentNode)
. b5 e! m9 \ p$ [ {
" W/ M: t3 E' u6 z var orgNode=node;8 u8 B$ @, b# }3 v2 T4 w6 L& q
var orgColor=this.getobjstyle(orgNode,"color")) ~) N, W3 C) j; t
var orgRGB=getRGB(orgColor); - A$ Z7 K2 Q L$ ?' H6 m j. n
# E# h1 M! R- Y% u0 p" H* X; v" a4 i; ] var parentNode=node.parentNode
0 I* c+ }. Q) j2 i7 M3 [ var parentBgColor=this.getobjstyle(parentNode,"background-color");
! w" ]) J* I0 i+ U
" k0 Z! W: l% ]8 m5 d8 D y9 V3 Y3 W var isLast=false;
1 B9 L7 f2 l! s0 T : M) p( L0 x( H4 ^) W* f7 o$ t
while(parentBgColor == "transparent")
0 c% u3 j; w; w {' F1 u4 E0 z& B( K% [+ w7 Q
# m" Z( C+ A7 G4 Y. k4 R
' I2 @. j1 A8 {! G# k' h
if(parentNode.parentNode == null)
& a) ]: d- s5 }4 I {- c' T, f, K+ h7 ]& z; |
isLast=true;
; @# H& y6 k( T4 S; ^8 F break;) B" q" ^2 [- c& x+ I
}, o' g" Y) ?1 t' J6 Z
parentNode=parentNode.parentNode;2 K: i0 P) I3 P, s
parentBgColor=this.getobjstyle(parentNode,"background-color");: ]* C# N, T5 S2 M( O7 ^5 O0 @
. X3 J# |# h/ L! c* u
if(parentBgColor != "transparent")
% i: ~3 L. |% i& K% R( ^; H e {( L8 W- t0 z" p( [ y4 |3 q
break;0 ~4 _9 T5 R, C& t
}; H& R- ]7 Z7 v0 Z* [6 {
}
- E8 r) o& n' x8 a' ^, b7 d if(isLast) + f) \- |$ P2 A% c! P% J9 H
{
" P* [" o+ A3 f if(debug)
% Y- c2 V' c7 k# v! D0 x {0 r+ X; S1 T2 C* E" ]1 i/ m/ y2 Q
alert("last!!");
' p# Q) M, w* k" M% C6 _ }
5 i B; f! N3 Y: z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 Q4 X8 Q9 H/ {: H, G- H0 I {
! e9 S1 Z* j3 {( a orgNode.parentNode.removeChild(orgNode);
, ]# ~# D6 ~3 \$ q& {2 ] }! Q% k( P, |9 s6 W
}3 h( l" M; N, u) \( j
else( g4 H/ o1 I- h
{
+ b+ U( L; w6 v7 [* y if(debug)" Q" S+ r8 o$ l) T) q
{: y7 }4 n! x: e: @7 \: i
alert("compare color and parent bgcolor!");
% n9 u* _# @4 n }, O! u0 a0 `6 J7 l" ` z
parentBgRGB=getRGB(parentBgColor);9 O5 z' u1 o( T
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 m6 G! u" o- V+ u2 W
{! U7 O1 a* D7 u0 ^/ g# H3 P
orgNode.parentNode.removeChild(orgNode);
! q9 X* j# J. \! O5 `1 O }3 A# Z& M6 i x8 M
}% e! t% W7 f9 J$ i& m5 v
}
( L# L+ c8 j- U9 X& U9 d }
- J2 d2 U/ w T }
* J) B& z, ~: t, _! r/ t) j }
! o' X- R( z* \) v+ |5 C! J! z1 a1 ~ g0 J9 q1 y" f+ U$ w: N9 m+ l
7 S3 U$ m, d8 V+ ? var itemFrames = page.getElementsByTagName("frame");* c0 K$ P. Q3 D
var itemiFrames = page.getElementsByTagName("iframe");5 j- [6 I0 x `
" U! ~/ `7 Z* y V7 w4 { var frame, iframe;* C% L5 L: T6 z$ y1 e
if (itemFrames.length > 0)
! {. x& d1 z! X- O7 N$ a% S {# Q a( i Y& a1 L4 ^7 k( g6 o0 ~, G. `) k
for (var i = 0 ; i< itemFrames.length ; i++)
% M9 i2 D; E7 ^/ S# M5 w; H {1 i. j$ e( R3 \, h* A9 E
frame = itemFrames.contentDocument;
# X, O9 L$ j9 |& G& n- h" Q this.RemoveHide(frame,objname);
3 m! x: A' l1 f1 a }1 W( m$ f* H, i" d5 j5 V# g Q
}* m0 m& d( W/ K1 C( V/ k# `
if (itemiFrames.length > 0)
; h2 E" D* g1 k5 {. ^3 R; f {2 Q! r$ \ s$ P# L4 j% ~8 y0 J
for (var i = 0 ; i < itemiFrames.length ; i++) $ ]: i5 d( k. k( |. Y& n0 i. h
{2 i4 g9 U; Z8 y
iframe = itemiFrames.contentDocument;
, h" P+ K/ ]! j( {1 A this.RemoveHide(iframe,objname);
F& V* ?& [8 V) C4 N2 f3 d2 e }
- b ]' T7 d3 Q1 U- {! M/ ~7 \) K8 _ }* O0 {, Z/ P: ~9 K
}
8 }, v/ a* a6 d' p. N* P catch(e) l7 S% o1 E S* Y4 `
{% f! c& B/ t4 M/ M
if(debug)
. o' D* w4 \+ p {
. N R4 x- g! g5 [1 a8 z alert(e.message);2 q6 j' L2 [7 D7 D3 t F$ A1 o
}* y# s8 W; l% G
}' S* r, d5 K' L/ d* Q& \) z* u
}( h- d, n) j5 Z
6 H1 A8 {/ R6 c# S}7 W' X. `+ I# y: i9 v* ^3 y
( f/ D, Q. |2 C# n8 r4 V* f
function getRGB(colorString)
: l3 F$ {% H! |# R{
+ U) v: l' J+ b2 w0 s7 t- k var RGB = new Array;
+ @2 |7 P+ R9 W" P9 F5 U0 ^ var tempSting=colorString.substring(4,colorString.length-1);4 J6 D- o7 E$ d5 w. P
var tempArray=tempSting.split(",");' `+ p1 w$ E% E4 k4 E
! m( q. Z1 U2 I& m
RGB[0]=parseInt(tempArray[0]);
7 [5 t8 K* u" q* V1 _0 Q. K7 w RGB[1]=parseInt(tempArray[1]);
( J$ Z1 ]6 G2 y3 [' w5 _" n* L RGB[2]=parseInt(tempArray[2]);
5 W' n/ R L% v% x
; t/ D. M8 z4 O1 \& ^% C$ p return RGB;
4 R0 c2 t9 Z7 H. Y% n}
2 G3 [% s4 y) C# t2 {3 F. xfunction keys(evt)
# X1 t. B) F( \ {
1 T* _) B2 y; U1 T& B% n if(evt.ctrlKey && evt.keyCode=="81") 1 @' [/ t& W" C# r
{ $ g4 l; |- S6 W8 d) `# R
CleanHideObj.on(0,1);" n! y) v2 p& ^9 V% F2 o5 l- O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ } u7 z& p2 ?: X/ K+ b 2 h" G* _# ]0 O A1 Y; Z
} ' _/ O6 ]3 f9 g$ p
} 4 D$ O" d# G' h: L7 |0 ]! M) f: v
document.addEventListener('keydown', keys, false);
1 L3 u+ l. b* d. i `GM_registerMenuCommand ('Clean Hide',
) J* v+ {1 l/ w* @( @# Xfunction(e){" f( [. a- G) v8 z/ ~
CleanHideObj.on(0,1)7 Z- K8 T: D. @3 j* V. c% @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 ~! P3 g! }' Q8 Z( G! ?});
0 N1 E7 \ ^4 F) m) Y/ B |
评分
-
查看全部评分
|