|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 X+ R1 c5 o& C
: v8 [ _" w `$ Z9 e$ H2 Z
火狐插件,用猴子' P: B. T& O( o2 @$ N1 B
( o0 D3 |$ b$ t
var debug=false;
5 l2 l: h9 ~) M% e0 W) ^" gvar CleanHideObj=new CleanHideClass();
1 ~5 p" p& n" C
% {( P& g5 \6 R/ mfunction CleanHideClass() ( j7 N. j& b5 Q
{ 9 i0 Z( L' l- o1 } U2 u
3 m! l, U0 p0 |8 z* w" v' i5 e this.on=function(id,bMZ)
* Z, K ^5 R" y {8 ]3 \/ i2 N2 f. l. P! H
. ]8 X7 `# A9 t, y' l) L
if(id == 0)
, z9 l7 \6 G$ |+ w* ~ {
) ]7 |' V- v! H8 f+ q var page=/* document.getElementById("content").contentDocument */document;
) O: q" E5 G0 R7 ~' `8 q- ?6 z this.RemoveHide(page,"span");/ Q$ h4 P* H* b, S$ V4 y. K! L
this.RemoveHide(page,"font");
$ N- E1 q+ O- y9 ? this.RemoveHide(page,"div");: k. ]# N0 A+ L
this.RemoveHide(page,"p"); _7 C1 F% N4 z" B! J
$ Y! x0 ? Y4 y4 i& C5 d }
$ A3 g; I X" C
/ ~8 F4 T, l7 M. {( @# j }' L$ W) {( B5 a, I
this.getobjstyle=function(node,prop)4 s h& b/ L0 n% n1 Y. d2 A
{
: g- D; F% A' T try" K0 |9 h+ o' m) d6 I4 q
{
( k' V1 Y4 u3 g8 F1 @0 B. a4 e return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' c1 Y7 } y) i$ H! d
}0 I& E" m' H" z$ D& g* L
catch(e)
- F! u% X8 l! e Q {8 t, l# ]- \; z' ]9 h8 ?
if(debug)
) n. n! ]% Y1 K6 ^, ~ {
( ?$ v* ^% ]/ B$ f. m alert(e.message);% f8 _; x9 g. G4 W8 \6 U, x& Z
}3 q4 z) K1 C( U1 B
# A7 c1 q: T, g. w
return "200";
) Z# p/ }4 y6 @4 g0 S8 V }
a3 Z N* t# S, E3 i9 A6 h }$ p4 `; ?' G+ p! C& D5 { ]
% n A( A9 d* k: C& ^& A
this.RemoveHide=function(page,objname)9 U0 F/ b" w" k& g
{( `+ N" S! H4 [% q1 H) _6 H( k9 u
try2 d+ T, ~0 t6 |4 a0 L" n
{
! C. o7 ~# f& h' a var minValue=15;, p: {; A p3 X6 z
var objs=page.getElementsByTagName(objname);
8 B! v: l$ U6 I5 l' M3 N3 D/ p: c, N4 e
if(objs.length == 0) ' ^) q& o) @1 T+ N. l2 Q
{4 T" R/ R! B, z% a
if(debug)4 ~3 `& P& S# ^7 W, P2 M8 G) N* y
{6 t* @$ B: D; ^6 ?' O9 K2 Z9 @6 h
alert("no object found!:"+objname);
# S* R( G/ d4 F }2 f0 W/ `% f, ?) k. q# `# C" K
}6 Y; l! F+ n Y0 f; W5 n
else! I6 D0 t0 k, P0 Y& F6 p7 `
{& |% L% |8 h& ]1 A; t7 `6 X
% a5 g& Z7 H) |% p& r% u
for(var i=objs.length-1;i>=0;i--)
( R" L7 ]8 [9 ]* T {
* w, f& c9 [2 J% i var node=objs.item(i); 8 B1 |1 f9 k% g) V1 P& R: y9 L
D4 ?9 a$ `3 q) f 9 ?1 w) L* P/ b; D
if(this.getobjstyle(node,"display") == "none" ||
+ p+ k2 I$ A' \7 @! G' e- p1 I this.getobjstyle(node,"visibility") =="hidden" ||& e( T) _( C# e) _
parseInt(this.getobjstyle(node,"font-size")) == 0) ' X1 V: b6 I1 V5 I
{
" k+ `1 T8 P+ y) F- f: s if(debug)* f7 h6 \: q5 u0 P0 `' L6 Q0 c% g
{. J# h( q' O9 }! i- K
alert("remove invisiable!");- I. X+ B3 M/ y [* S+ R9 R
}+ T; E( v* E1 O. q+ \9 p
node.parentNode.removeChild(node);1 ] L" i6 S& b5 |2 K
2 b' T9 P# Z. s# H* k$ P: O6 v }
: ~0 D/ X3 ]' | else , h- ]* L) n" @& O% h( C' f
{ J: \( m) X+ B/ O% e
if(node.parentNode) & r6 |* B0 B- M
{+ f& D9 b O) F" y6 d
var orgNode=node;
5 a& }( R1 [1 A' P0 g C var orgColor=this.getobjstyle(orgNode,"color")$ L9 m1 b. G' G* t; ?
var orgRGB=getRGB(orgColor); ( X) q4 F$ ~4 |- l1 M, w
/ C( L7 U& J1 B' e7 ^# U( J
var parentNode=node.parentNode2 [/ t2 k& j# u: w" @7 s3 W; j9 s
var parentBgColor=this.getobjstyle(parentNode,"background-color");
. J' m3 V- _- m# M4 K! p- j
0 R. A' [- {. `7 ^3 |& G4 E- w var isLast=false; R) Z/ D, o: M2 g/ E
! \9 {3 R+ }' K8 ^1 C! S# ^; F5 C
while(parentBgColor == "transparent") 0 ^) w# f$ i$ d1 u0 U. B" m* i
{2 y, u+ B2 o4 j- d0 P! K* G
# M+ q% Q4 z$ ~0 ^' @
6 z/ N1 K6 i3 y8 ^
if(parentNode.parentNode == null)$ B- R, L, ]3 `' G6 |1 ]3 r
{
, p/ S, ^5 q. U7 e- G isLast=true;* S/ X/ x; ]/ m( |; c8 V
break;7 l# ]) w' g7 e6 E
}
# v& k4 @5 u8 @5 N9 X parentNode=parentNode.parentNode;
# ^& j) p8 Q a0 a3 _& I parentBgColor=this.getobjstyle(parentNode,"background-color");5 o9 H9 W. N% b% t) w- J# J
; t7 B% P- [. M4 C# K if(parentBgColor != "transparent")
: x% s6 _5 _9 D# r2 X1 Y {. n: E! l/ s, [! K1 H0 K
break;4 _; G5 ?. ^ z6 Y. d
}7 j: F. S; D% I j- ]
}
# r: d q1 R6 p( @6 V1 ] if(isLast) / i% q# L, u4 J$ L( A, s9 T, |6 j7 F
{
+ l6 J, @4 B% x+ a2 @% U' h if(debug)8 V2 J% P4 P: \1 f4 t
{- `( I! F+ p& |
alert("last!!");
; K9 B9 l4 }& A& ~! K }
3 \- N2 S4 o5 u/ W2 \ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): J7 ^! s2 ~2 l; v
{
; z7 N0 d1 i. s8 v2 I7 {5 e, o- t orgNode.parentNode.removeChild(orgNode); 9 B( N% J" ~- Y ^$ _1 H N% {* r
}6 G1 }2 J z2 \7 r$ N9 @. N$ T, [
}) \ F& K/ h# U+ r7 ?
else
Y8 q4 Y% V. C {
6 U+ y' y Q7 l2 `! h' j if(debug)
( R& x9 h0 v$ y: q {
: Y9 q" |, R, N ~ alert("compare color and parent bgcolor!");
! M2 ]+ }# \# h' y+ t& O. p, {0 D }
) G3 H% ^; B8 S1 W$ w parentBgRGB=getRGB(parentBgColor);
; @9 |1 H# J6 n! P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
9 o9 c4 H, i8 K. Z5 A% h8 y* s" L1 M {
% \7 c' S, H; G- a4 |" |6 V orgNode.parentNode.removeChild(orgNode);
0 O6 @$ p+ ~6 E% R S& o }
n# B$ P- t4 r5 ~$ t+ q, \% f }
: r r/ h5 d$ Z; ^ }6 a$ G7 w" M! ^4 n6 ~
}
9 T6 N+ \4 s- L# C }
9 b5 O. Y' f" W5 X: ~ }
! p* l, {2 I; K+ P- x - ` |, i; n6 y! e7 H( K
1 w% W _7 C, J# m' | var itemFrames = page.getElementsByTagName("frame");# O5 \9 \. H9 ]" {. s
var itemiFrames = page.getElementsByTagName("iframe");
1 K# w" `2 h* J7 p, }1 m+ m# [) y
( N0 D# X2 _6 r" g% r# n var frame, iframe;0 ?: L" t/ j# h- @: _/ Q" R
if (itemFrames.length > 0)
! z! ^9 I4 E1 h% |2 u7 S1 y {
1 p& c1 w' i" i6 ? for (var i = 0 ; i< itemFrames.length ; i++)
$ n/ o: u. y: e. o9 W! ?6 `8 m, u {6 e- g) r" F! X9 i# @& S. O! @ G' g
frame = itemFrames.contentDocument;
1 t F$ L. s/ u$ j" j8 z T* |% u$ w8 ] this.RemoveHide(frame,objname); + i1 `* f9 _5 v
}& l, w9 I9 |6 X
}
$ Q' u+ K+ s9 ~; `- C% F if (itemiFrames.length > 0)
: _, D' c0 w4 a" w4 j {3 [( K, F% I- Y2 `- U
for (var i = 0 ; i < itemiFrames.length ; i++) & t9 ~8 {: r8 |, Z
{
$ {0 a. |1 x( R# D1 t iframe = itemiFrames.contentDocument;
- R" d. q9 w9 Y! H0 j2 B this.RemoveHide(iframe,objname); i% N* x# s7 b, w, W
}0 X, H% b$ L7 d& _" U$ J5 k5 ^" T
}: r4 G( J: ~2 [% ^
}. i5 D+ P; O/ q3 D: H
catch(e) J) \6 P$ A) ^+ N9 s
{9 m/ Q& p6 H7 B# ~. O* e
if(debug)0 t$ F, J9 v( N4 i
{
6 T E) ?3 y, @: n6 }7 U alert(e.message);
* E( y3 g2 f- e* g9 u$ x% E; ` }, e8 a6 ^: u6 ^, y' _- {
}
, H+ T7 |9 f! W% `8 O6 F2 ^1 _ }
5 {) S0 y' `0 Q4 u: f* p' T X
# X/ \& P! U! ~2 t4 _* s}4 |+ W$ V. Z0 ?! J" p7 A
5 p% i7 d, v0 @) ?9 n8 y" ]
function getRGB(colorString)
' j% B* D- S4 u$ t{
% J3 X- p) F0 ] var RGB = new Array;2 J! G) {" x* ~! Q; f, i
var tempSting=colorString.substring(4,colorString.length-1);/ O" l' x0 r/ ~# J
var tempArray=tempSting.split(",");( W* A% [2 @& G* S
* {! O4 i( H# ?! Z% g& b0 n% n RGB[0]=parseInt(tempArray[0]);; q/ v' ^# g A$ B5 W/ b$ s
RGB[1]=parseInt(tempArray[1]);1 s& X% B( s5 u8 w$ N7 r
RGB[2]=parseInt(tempArray[2]);
3 w; H. b1 S6 A! V
y7 [+ e1 u2 h" P4 } return RGB;, y/ W* G- Y% @4 T
}" `; H- m( M- N. v* k, g$ X0 s
function keys(evt)
# o6 g7 f! `1 I! N6 b { 7 G. u% v, G4 s$ X: v" g0 k
if(evt.ctrlKey && evt.keyCode=="81")
% v I3 y. c p9 X/ b- k { & F* J7 |! n }2 L
CleanHideObj.on(0,1);
! W: K, R9 h; S- R: ]" a- x8 }- p& Q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 ?+ Q: w. q# Y4 \# ^5 X" A# S
1 ^- }! H, O6 t7 M4 | } 2 R4 ?: [, x, i# h( f+ z
} 4 m/ I3 a9 [3 ^/ o3 _% K" w0 |
document.addEventListener('keydown', keys, false); 9 |' q9 y% o i
GM_registerMenuCommand ('Clean Hide',1 Z. {1 N% K: L9 R$ o4 c
function(e){
0 f: p6 W& R6 M5 Z' FCleanHideObj.on(0,1)1 u$ a, V6 M! q4 N! T$ _' }5 p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 N( h# R% F( |/ D H# c9 {4 s2 d
});
7 }8 r, X- W7 x0 g |
评分
-
查看全部评分
|