|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 z. @3 J6 s( I3 J ~2 @
/ V7 C+ J* \6 \" z4 H火狐插件,用猴子
9 j( m2 ? f0 s' n* B9 W, U# k* \% p6 S7 k6 J
var debug=false;
0 O$ N' d: R$ L1 y% u; I# xvar CleanHideObj=new CleanHideClass();
& F1 U* `# K3 R: o9 B$ A, j! m+ o4 L
function CleanHideClass()
) I3 O3 Y- G+ Q{ 3 `' o) P& p* ?: \9 a
6 ?0 F8 ?, q# u2 z9 m
this.on=function(id,bMZ)" h( ]8 }2 ^6 L1 Z& F! V
{) @ J* p/ N# A8 `5 Z! V3 }: x
2 I; m1 x. x% H1 M8 `- y$ U if(id == 0)% ?% ^2 |- H% G- S
{- G! X5 g o) D/ l6 ]: W
var page=/* document.getElementById("content").contentDocument */document;
' E: y# V9 {4 ^* d' l this.RemoveHide(page,"span");
( t9 L: w0 y* V# H( C/ Q this.RemoveHide(page,"font");
4 J* w0 e! e2 D1 w/ o, j this.RemoveHide(page,"div");7 U2 t9 {1 b! I4 x
this.RemoveHide(page,"p");4 F5 ^: F! x9 C9 L1 M5 y
% ?% z3 o) W7 ]& D4 h, m }% t) ?- d! A) T4 E$ {% R1 ]" N
( ^: j# i0 E; \! ^2 t- T2 f
}
C* m) p1 z5 R6 S this.getobjstyle=function(node,prop)! |. N3 a, Q ]+ f N- f+ f
{) g" a' W3 o8 G
try+ m4 W, g* w) \ Y
{% t. O3 z# R8 r, f
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' P- B/ G" s2 r
}
* f# \4 E! T/ \ catch(e)
' d* W& S ?& n0 U6 y& E" h/ ?3 u {. s7 A) O. ?& V0 T' M
if(debug)6 O; b* Z. c* C; N% v" p# V
{: _4 V: i" ~( z @' _- o9 e% k @( f- x
alert(e.message);( A0 \# W+ v* `, B4 o# L
}8 q1 m+ q- s! V) ^0 Y
. ~2 W$ G0 D1 Q/ `; u
return "200";0 A: R: o- z; i0 n B
} H: F) v8 X9 C% y. E' C# K
}
6 f+ o, ^( u' a/ O' {. t$ Y9 K - T$ L; J, Z: @ s1 \) q8 h8 Q' l
this.RemoveHide=function(page,objname)
* L: \8 y& G) X {
4 m; ~) Q% C6 U& N* V try
3 A: w1 E. i! h {
9 P" @0 r3 S" D var minValue=15;7 X6 E. D' \ P0 @, K$ [8 A) V6 g
var objs=page.getElementsByTagName(objname);
/ a- [2 U- v+ a- d
e# M3 R% p2 }) Z if(objs.length == 0) - `2 O3 ]% g- ]+ q
{
7 o: `( b" H( P& e9 i5 x! T if(debug); o2 r/ e1 x! }' }6 w- Q& [: S
{6 F v. n* A4 ^
alert("no object found!:"+objname);; \3 z$ l8 A6 W8 p' l6 R0 j
}
6 V% O: n2 `8 Z) B1 U! J }7 F+ i& j8 R; J; P6 f! r, I0 Y# R# p
else
& u, |* D5 X5 t! n, b {
- f4 l9 }. U" o' [! H# C
& [% V, ^* B- W: ^ for(var i=objs.length-1;i>=0;i--)
+ r7 V! @' }& g- O4 [ {
4 w5 l, a8 u" f* D8 P- |/ u$ z var node=objs.item(i); 9 H; u# {4 M( A( I3 w5 Z/ o
- a/ \ U. G7 L: [& G4 D& O+ i+ V
6 B m% s* S5 v+ I# }+ r
if(this.getobjstyle(node,"display") == "none" ||+ P. g# `2 G/ W b) M/ d! ]
this.getobjstyle(node,"visibility") =="hidden" ||! I2 z7 ^9 }3 U& [7 l8 F
parseInt(this.getobjstyle(node,"font-size")) == 0) , Y4 |# q+ [4 p6 B8 X/ u7 y
{" ~2 {, e$ r1 M+ z4 d, q1 ^* K
if(debug)/ G- W' T* b0 d W
{
( `1 T) h+ l" M/ f! @' q$ | alert("remove invisiable!");& w( s% C8 h& ]
}
. z7 }4 f8 j9 o4 x. l node.parentNode.removeChild(node);8 x" D% o9 R% Y9 |* F$ _* H
! u* f* g. P. _, J }
9 D; M! F* j$ ]* J/ d Y else
( e0 n# Q$ ]6 Y2 ^9 C, B {9 n3 X7 b. m. u" \
if(node.parentNode) , s" p- [( ~9 I6 A7 w' R
{& w3 \2 d, W6 q2 R6 ?1 _
var orgNode=node;$ Z9 B6 Q1 x ]; g2 ~7 u3 E
var orgColor=this.getobjstyle(orgNode,"color")
( V4 z9 P) @2 Y3 f: \, p var orgRGB=getRGB(orgColor); ' w3 X+ a8 n$ [( r$ c0 Q3 q
- h: k; O7 ` n2 d2 k2 l var parentNode=node.parentNode
0 a L( c& i* v2 h9 D var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 u" G/ J0 J7 r P' J/ C
7 a- t( |3 Z2 P1 j7 b var isLast=false;7 }- S& ]; V$ d
& P0 I' n# l" L9 Z0 }+ w
while(parentBgColor == "transparent")
% _9 w0 y1 G0 @ {
* b) |! o* l" Y3 n, w* e( Z 9 Z8 `; p6 b2 X8 }: u
6 `( A) P' U/ U$ p$ T( x if(parentNode.parentNode == null)
! i; U* C7 q. d" }9 |1 _9 e {; ?8 H6 e s* ?: P6 X' E$ @' E
isLast=true;# Y% H! _: ^1 ~, `; O8 Z# p7 _
break;
* Y9 b4 f2 a, C7 R1 U6 X }$ I0 k# b, V: c, \( Y2 p3 `
parentNode=parentNode.parentNode; H/ j0 |6 Q) ~
parentBgColor=this.getobjstyle(parentNode,"background-color");/ i! {$ q3 ]: g( i! i% o& ~6 `
2 ^, l$ b v) E; M& ~
if(parentBgColor != "transparent")
4 f0 F$ p. @: N* I8 C. c/ U/ x9 m {
) H. F/ X) |2 r% w# z; C- C1 k break;0 _2 } E) Q+ I; p6 P
}+ i& v9 y2 O' k& V# [
}
, ^( I$ p0 ^( _0 b8 A9 G q if(isLast)
" f+ S& Q) {" Z {
( ], q$ ~$ M X8 Q: q. y: v: \9 M if(debug)! C G2 ?% d5 D) z( ^
{+ L) ?- y" I6 M
alert("last!!");5 B/ W- o& h) W0 U, E5 h( B7 G
}
; S, P- W. K+ ~) b- ^( d if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 F, t4 B7 e( f7 q' m {
- d2 h) B$ }: X, S$ a* d orgNode.parentNode.removeChild(orgNode);
8 X: B1 M. |1 Y& o3 H }
* e( z) m- U# A3 J3 E- D# Q/ ~ }: n. g* w3 _0 o% W% @
else
& j5 b3 f- A9 Z P {
8 j. X+ U2 t2 v" ~ if(debug)
, ^% D$ K$ w2 |$ z {* l% g7 E) \) W& R
alert("compare color and parent bgcolor!");
! b0 }9 F0 c% v* b- {+ \8 | }1 x3 \+ a0 d: `/ f1 ]
parentBgRGB=getRGB(parentBgColor);
: A: ?0 Y* p% Z4 d& e if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% J8 [& c6 T# e; j' p4 W
{' M- E8 o8 {$ d! R8 a) W
orgNode.parentNode.removeChild(orgNode); + s6 U/ o) r; v S) U# e) f1 z! k
}
0 a2 K; \& V. r5 d, a. F/ f" @ }: c2 e5 J2 Q4 d! {
}
# V9 c7 v [1 e* \, c }, i2 m: l( b$ @ v9 W/ b2 t! t3 k8 T
}
8 k" T- q( v. w& ^) Z } b2 E7 m: A4 H) n
8 N: m- l" N, ^7 i
& e: M+ W9 y% C8 n" Q var itemFrames = page.getElementsByTagName("frame");
- x! m# p% b; e9 o var itemiFrames = page.getElementsByTagName("iframe");/ F' Z5 u$ Y7 g/ T& O6 J
& s( v- J/ C& K( k' ~" h
var frame, iframe;# u+ B! ], u& w( U
if (itemFrames.length > 0)
" R* D! R" I. Y$ V k {- Q/ h& V1 Q4 a4 ?
for (var i = 0 ; i< itemFrames.length ; i++)
9 A4 W/ P( D: o9 g0 [4 O- t } {' Y1 o9 _& i) ~8 k# l
frame = itemFrames.contentDocument;$ M! p2 u0 S7 ?0 b( d) v
this.RemoveHide(frame,objname);
% E* ^, M* N( Y, V) h; L }
7 z: [/ `9 g* K( w }1 r' ?6 B5 N6 A* F' T6 u" ~
if (itemiFrames.length > 0), u# m- n' n5 h# F4 {
{. l# `: X/ V3 M$ A1 z& c: R' Q
for (var i = 0 ; i < itemiFrames.length ; i++) ; r. @ k8 u* V& O. |( X
{
$ `8 D/ F& r2 }1 b( S iframe = itemiFrames.contentDocument;
* g1 ^8 c! @: w5 C. P! l; ^9 l+ Y this.RemoveHide(iframe,objname);
# e) _* D1 R1 ], ~8 U }
- V9 u/ F1 X+ g% l+ { }
) N! b' r" v' d; j# Z+ j }! U" ~7 {0 c9 y" J% }
catch(e)( K; l% k& W) o8 i
{
$ f8 G' O0 L3 {7 |: D5 M6 a if(debug)
/ J; L% I2 Y( h4 x$ f2 u1 B {
' ~/ q: w& J. N9 Z alert(e.message);* o0 }; s5 A- ]3 B8 J) g$ v) v
}8 C7 @$ m* G- h& W* L) z
}
* r. A" V; ~7 t! |/ u, q }: R- G7 P( _, s. U% h% c3 j
0 w7 v& P: ~( y% H
}* R! O/ Q5 ^* s7 @3 ^4 ~/ U
% ~0 g$ g) X" f" [8 k% ]/ ofunction getRGB(colorString)
! {3 ]* x# r& v# M" ?. ~! Z$ z{! U N. K& ]7 U, s5 h+ U
var RGB = new Array;
+ G% S; [. K( c( A O) y4 Q9 ]" L var tempSting=colorString.substring(4,colorString.length-1);
8 Y7 m! p6 P6 w& l: i9 c# G var tempArray=tempSting.split(",");! s8 r2 \: E: L3 o" `. s3 {! ]; |6 _
5 E# P! [% L: g RGB[0]=parseInt(tempArray[0]);
! q) b( r- C: \$ `, G RGB[1]=parseInt(tempArray[1]);& f+ k( W1 t+ N) [* u5 V& L
RGB[2]=parseInt(tempArray[2]);
- x. M. g6 u" \
8 `" L% A2 a, Y3 ]8 { return RGB;
0 E9 l1 e6 Q! ]: w5 W5 `}
/ t7 I5 _" Z! i: ]- z k/ _8 Sfunction keys(evt)
) `3 T, N/ w8 o7 `( H2 k' E { Z' T8 K2 H% s- A7 i# W) N# ]! R
if(evt.ctrlKey && evt.keyCode=="81") 7 j2 h/ W/ d7 D% I. n) m" K
{ ! Z% ]' x: o" h1 [$ [/ k
CleanHideObj.on(0,1);
! b9 N Z7 m- f" E* o1 M j2 H% l alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 t" e; e$ W. f( P. E6 F6 P y- \' W
8 k0 i% [9 z3 N& l } 1 f: b3 c5 [) p" X2 a: {: m) e* g5 N: D
} $ K% f8 P' ?3 W! D. g0 S
document.addEventListener('keydown', keys, false); 0 Q/ l! T) k5 h
GM_registerMenuCommand ('Clean Hide',/ R9 G5 w- M% q. m" r' ?
function(e){$ ^/ U/ {. y9 K C# q- R4 \4 i2 m
CleanHideObj.on(0,1)
( g' p. i# n. K R" o/ valert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 @! R$ F7 k2 ?' H) L
});
: ~# n$ L+ O, L8 h1 s |
评分
-
查看全部评分
|