|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& [* ] q: K+ z; Z! ~4 |/ K9 W& [' }8 U' I; f+ G* ]) E* y
火狐插件,用猴子) C- Y6 O R( p3 H: u
' L* W: t7 c- K' ~) Nvar debug=false;
3 D5 o9 D5 ^' Ivar CleanHideObj=new CleanHideClass();
: o6 ?0 Y2 r/ f3 e! d: Q% p1 _% g8 [2 p6 a; `: J- p& ?2 J
function CleanHideClass()
/ s& ?% o8 C r9 |7 B% c{ 8 Y2 q' v5 c5 l7 K" M6 E% V
# z) P( t- {, V& D3 ]+ i
this.on=function(id,bMZ)
# t9 E- R5 E2 Q* e0 c3 P2 l0 @ {
7 z2 E/ E: W8 }9 s6 J' M; N1 [, k! c + O7 ~+ Q I8 P" ~* n
if(id == 0)
4 C0 D& \+ z2 w" l& \* o# a) ^ {6 ?) |3 u1 H D, H
var page=/* document.getElementById("content").contentDocument */document;
7 |: d4 \1 C* N, d6 ]4 F this.RemoveHide(page,"span");) x8 v4 J& a6 a$ A$ |
this.RemoveHide(page,"font");
! H$ d0 ^) D! s5 B4 A* |8 P5 _! v this.RemoveHide(page,"div");( @. o8 T9 _& y8 F
this.RemoveHide(page,"p");, x* b+ X4 @3 D0 b
% z! I8 p0 X/ ?2 v( I+ m- D }
3 s! [0 l8 V0 J& x# e' g4 b 6 h% _- |* V# O; ~1 Z, P
}/ o8 u: J! v1 s2 _ b# K. |6 t0 P
this.getobjstyle=function(node,prop)
8 o3 I7 B3 t+ q4 t4 W5 Q {3 K$ t0 B+ A1 A' t* m0 Q/ s( H- W
try
O$ w3 e- x/ y4 y) \ {/ ]! P% K0 _$ Q' f" {$ O
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 D0 K8 [8 R2 D) O2 i }# `" E- }$ \: O5 o9 {
catch(e)
9 r$ r2 z0 ]: j4 j8 }$ p {
- R& S7 E- W, F: i7 Y& q. \ if(debug)
$ O( d" H9 r2 G9 U3 T {9 S( c- h, n0 \' t9 j
alert(e.message); f7 B, o4 M( p! V4 ~& G7 s4 n
}
; p) x" A% ]! l2 x- E 0 n& z* z* f& L& ?' J# P/ k. t
return "200";# v& R: ?& z" l0 l7 G% F1 F/ j# d6 f
}% o O! E( `5 e, N
}
% A, k: D X* A3 ?% D. N ) T# y5 R! P3 y7 @
this.RemoveHide=function(page,objname)3 o P: T& G/ l( d P
{; _# t4 t" q* @+ S2 T |0 S1 J
try& b0 y* ]( u) X, O9 f, n1 U
{
2 f8 h- t2 _7 X3 H var minValue=15;
% @. _- t1 d$ N4 p" q3 w var objs=page.getElementsByTagName(objname); 9 T: o- H$ D; N5 Z! K
& @' C5 }" n9 \' s if(objs.length == 0)
2 ^/ @! z4 l9 Z) z) x( w( b {! C$ y6 H* O5 i& ^
if(debug)! i# L9 L0 w1 V4 S$ _0 | r" I
{
* J3 j7 @; P( ~9 c7 N: z alert("no object found!:"+objname);% \' o# l/ \5 C7 Z" e
}
2 M K$ @ W7 O }5 x! q7 ^. X2 H/ S) V9 [: I' i
else1 ?+ y6 R* k6 x: C# C0 k0 o$ L8 N8 x
{# `# F& M: k; p( P# p
4 i6 j5 E, @7 Y" N+ R9 R
for(var i=objs.length-1;i>=0;i--) * ^" B% w: w* w- M& Z; g' J V
{
/ o ?6 o/ x' k' V @6 e1 m3 G1 C0 O var node=objs.item(i);
$ o7 E$ e* v( s& b9 ] ! Y+ B0 B! N6 |! Q7 p, Y7 r
u# i& i& ]' Y: ?1 _ if(this.getobjstyle(node,"display") == "none" ||
5 R, n* t/ j# k3 ]3 k5 r. B7 a this.getobjstyle(node,"visibility") =="hidden" ||
& G" U: r! v; B; y$ f parseInt(this.getobjstyle(node,"font-size")) == 0)
3 Q0 D$ s! B. s/ _2 D" J {
p! ]' Q7 @. \# ]5 p" P7 a! a3 p2 h2 \ if(debug)9 w% Z( Y( m& Q% ?$ q
{$ q4 M# C/ b x. h- I
alert("remove invisiable!");; q. Z+ j% O1 k5 }7 C
}
- n% i$ Q$ n) Z3 p: V) a node.parentNode.removeChild(node);
: [% l S0 i( ^/ `1 z $ q \- {3 a( k& g* E( Y
}
1 S# x$ N* H5 b else
' w7 U8 U5 N5 } {9 Q3 H6 H b; X: Z
if(node.parentNode)
. l5 m: j9 q0 x8 s8 ^ {" \" J1 F* U1 ?8 `( w8 `
var orgNode=node;$ H. Q9 W0 l- P- f! z. D' @ x* j
var orgColor=this.getobjstyle(orgNode,"color")! `! |! G7 q0 ]/ g& G" i4 ?( _( v
var orgRGB=getRGB(orgColor);
( u; ?1 v; q6 m O- [% N# j ' K) z" ^" j" b3 N; p
var parentNode=node.parentNode% o0 t; V6 a. h% M* A3 q2 Y; v/ W: I
var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ W, }6 N, h& _, d/ a& W; H4 U, J
4 X; F. q7 I9 P var isLast=false;* _6 l: ?0 k1 L* t' D N5 ^$ Y% H
% x3 Z4 Q6 N' D5 ]
while(parentBgColor == "transparent") , `2 B5 ]2 T9 y. e
{9 w } {7 o$ P I/ b* V1 V
0 G9 ~2 X& i! N% ~- L( I0 ]6 S7 q9 v
+ K2 k. K ` w0 Q
if(parentNode.parentNode == null)
2 ?( A# _4 [- L {
4 y+ e/ k! ~- d' K isLast=true;* K' V& L1 Z( N
break;7 K4 \+ K6 K7 Y! J) _4 T ]: C8 c
}
; G% s( c$ T% p3 N* `; b5 T. a8 _( ?) c% _ parentNode=parentNode.parentNode;
K4 y& y( [8 Z9 v/ l parentBgColor=this.getobjstyle(parentNode,"background-color");
7 j% z3 B( h' T* C
; S8 L$ q& Z* F5 u5 X; Z" e if(parentBgColor != "transparent") 1 n6 T4 z$ w9 ~- K$ V: {3 E
{
4 q4 B& J0 U. \) M; X break;
% K6 ^, d; _' N8 G# Z7 h }
$ ]$ W4 z( M+ l7 l; r }
# \* f) N4 g% U9 O3 e# t# z if(isLast)
. U, Z5 q# d8 L( l" v {2 @) a; K( u8 E7 \
if(debug)
2 x4 D0 A) m" }7 Q, J! m9 v {
t, B- Y& B* \, o alert("last!!");
: ?9 h J, B4 C+ I! {9 b }
7 @( x4 m" [) F5 X. [9 G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" X# y3 P7 a4 a* V& h
{
; F7 G5 G M$ N8 M, d orgNode.parentNode.removeChild(orgNode);
( I7 U8 v* \% ?3 w7 f7 U n# M }( v8 [2 p: F q) R$ Y+ Y6 w5 F
}
) J( R- z" E4 D+ e; s( E7 v else, t- r+ C+ Q8 Q5 j
{
$ l( W# R+ G1 r! ?) P if(debug)
/ J3 `; \5 F& ~& q: C% v0 i) o {6 t) }* E) v5 P! D e
alert("compare color and parent bgcolor!");
9 w1 K9 z' v- H. z }* P& E) e. z$ U: k: g# i# H
parentBgRGB=getRGB(parentBgColor);# `0 E1 h! N1 C# ^
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ J1 c$ H' D) V% O4 X0 s/ F
{
* T D+ c& V& h: G orgNode.parentNode.removeChild(orgNode); 3 P5 s7 U) T4 D" J
}' \8 L R: C# w4 K- z
}
" N: h# ^/ L+ x8 `. _ }
4 u F/ {- s7 C, @* n6 k }. h. {/ \+ t/ w( w5 Z% V8 p! i
} m& X$ ]7 U9 V6 Z2 I" A0 F
}- t+ v5 A( q' O% R
7 E' ?- a' p6 m6 L6 e
& k1 v) D+ `! h% }( `, T+ k var itemFrames = page.getElementsByTagName("frame");
5 n) u0 V0 \7 |' T0 f' } var itemiFrames = page.getElementsByTagName("iframe");7 C. K+ `* F. {+ {( n
1 R m/ ^0 a9 V% q( a0 F8 O
var frame, iframe;5 `0 n7 c$ {+ _! B! g* n* h; R
if (itemFrames.length > 0)
! |, O9 G1 f; y+ ]' j! s. }3 n+ Q {
8 V+ Z# o+ p4 P" Y: d1 P5 i for (var i = 0 ; i< itemFrames.length ; i++)
3 c+ E2 N" m% } {- Y- C! v7 `% G
frame = itemFrames.contentDocument;6 W9 P7 y; k+ p* G
this.RemoveHide(frame,objname); $ F" C8 H: ^% R
}
/ n0 v$ R+ m' u+ v8 y }. `' F6 Z9 t/ v: C
if (itemiFrames.length > 0)8 O8 f3 g# }2 @. j& a( \
{5 B& n9 H/ l0 v* H
for (var i = 0 ; i < itemiFrames.length ; i++)
$ }9 ]" A0 N/ I. `' W9 @% @6 v {
) Y o5 U. e3 S6 Q iframe = itemiFrames.contentDocument;
& }- I9 O3 A2 ~4 X4 T4 N this.RemoveHide(iframe,objname); ; `' A$ V a" P( V4 z
}/ J1 \" z5 F2 Z# f {' T% q
}
9 \' p7 U& q8 @: F1 V! w$ t }
- m5 P2 r8 A( q, ?# G catch(e)
1 f6 d" k, ^5 {, C* C" @1 L {9 @; A0 t2 d9 C$ P8 A
if(debug): h, t) q7 j7 h$ s0 }) |, T
{
( }5 X& I+ l) v" V [+ f alert(e.message);: ^- i3 t# |$ ?* F
}* N' v4 E( z3 q4 j4 ^, V' \
}1 w) _* T w. c, m8 X$ J
}% \; K" G( @# X& c
# {. i7 `. W& m8 u! O0 ]}
* } u+ @5 C% b, U; F$ I+ T3 }$ c+ R) \/ J
function getRGB(colorString)
) B4 ]8 u" G4 U# c- G5 q( O I{
: X& E7 L1 l! ^% Q var RGB = new Array;; f) O% w" B5 P( K: w
var tempSting=colorString.substring(4,colorString.length-1);/ E! \+ q N# S O s2 n
var tempArray=tempSting.split(",");' ]3 F( B" I$ t8 l1 s- Q5 i
5 F$ e) c( b. H2 U" l- g6 G4 [% H; O RGB[0]=parseInt(tempArray[0]);
% _. e$ [0 u, `& M5 e8 U$ U RGB[1]=parseInt(tempArray[1]);3 G2 R7 m3 [1 ~( Q; G& H
RGB[2]=parseInt(tempArray[2]);. N6 r; ^) g' f0 s1 W$ j5 D3 g. ?
8 \5 x, q+ l% s* D% ?3 n
return RGB;
b5 \0 r$ _0 @ X}
2 z0 ^3 \; U+ @6 t. kfunction keys(evt)
! c+ Q5 e1 f: m& q { " e9 p! s* R1 D7 F
if(evt.ctrlKey && evt.keyCode=="81")
, ~ F$ S$ Y, N% P' h4 ^+ J; Q { + l+ K* p5 n2 Y2 H* G7 v* ~
CleanHideObj.on(0,1);
1 v% m% M/ r2 O0 D8 h alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 ^" G. C3 r2 D1 T% W, Q
8 N( f3 [6 Z/ v1 r) m, j } & D, ~/ A2 d' _
} . s% C( E( ^/ ?" ^$ W' _% {
document.addEventListener('keydown', keys, false); 3 l1 y. h2 a2 c: y7 v, q3 a4 @, X
GM_registerMenuCommand ('Clean Hide',/ \+ l; z: k4 J. r( k# O, L6 v8 s
function(e){6 ~' ^) Y6 b2 N
CleanHideObj.on(0,1)6 H) U) `) r" ?+ |- o) R- c$ W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 ?. I, y+ {) y- Z. k' {
});0 R2 n+ L0 \+ s4 R L" [
|
评分
-
查看全部评分
|