|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ E$ M1 }3 o) d4 e2 m6 Q" W- G' i& J' `5 J) m+ [# h) W: ]7 R
火狐插件,用猴子: }/ D5 c3 f4 q+ x3 |$ ]# X# Z" [5 A
9 M+ ]. `2 V5 _var debug=false; " X7 r# z) {- D- R; [3 W$ e3 ?
var CleanHideObj=new CleanHideClass();. w2 o& m! r5 _: J8 ~3 M/ I
5 D3 Q( x, u5 ^# f* O5 x: m! [function CleanHideClass()
9 x9 K. B/ @( G8 R$ m6 J) r( H{ 0 A0 ^6 A2 O( _
- [& @3 b2 f0 I4 }; W3 T
this.on=function(id,bMZ)7 P6 D" O* d. q Z+ l. b
{) W: |5 t+ y$ h; ~; C |7 f
1 s$ H* l% |- p$ q5 ]; E: v if(id == 0)9 q: ?. t9 ?5 ~, C! t2 G9 B
{
4 V7 A D( x% x4 ?8 ]/ f var page=/* document.getElementById("content").contentDocument */document; . i, u1 S+ u/ W3 Z8 q+ D: V! h" A
this.RemoveHide(page,"span");
1 X6 ~2 r. [/ A$ V8 T( i this.RemoveHide(page,"font");
" J6 N5 ?. g' ~3 \ this.RemoveHide(page,"div");
: |; G7 D) h3 x6 ]% ^ this.RemoveHide(page,"p");
# [/ o$ j6 A' ~. Y& V: Q" c / c% i, l. b3 E" l( X
}
$ a0 T- p ?' r. F8 q% b
+ g: A6 P4 x, V, k; p( R' S/ p }
, k% @; I: G) b# w. C; L% T this.getobjstyle=function(node,prop)
# r0 b5 c2 A5 o4 z/ e. e; c {
7 o1 Z8 Y3 O$ V. K; ^( B1 K/ Y3 I try0 O- T4 u: |7 |0 N& [5 Z( ^
{9 I2 I# p/ v7 |
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ b2 }( u) D J/ |9 E8 `4 T6 I& [ }' M; {" V9 C& @. V" @7 Z
catch(e)/ y1 M# a8 D7 k
{
. G! l6 \9 s$ y4 _ if(debug)
, k3 p6 T, d1 v e {
/ y9 j" M8 f( p" ?8 a: B' x alert(e.message);
3 @4 E& _8 }8 s! F }
3 m, X5 |/ J% D; {6 N
6 H( J% v+ J7 |3 ? return "200";* I8 A4 X ^0 B. M5 F9 {) y
}* ?+ N3 E% ^/ L9 |, A! E
}
' _$ b) s5 E1 i: M% J* R* L
$ C; H! t" u) T* F this.RemoveHide=function(page,objname): @4 g, }' q$ A& f
{& A2 {! r( K, j8 z( V
try6 ?8 K1 m* S/ J# ^
{- d+ C' S& T3 @; R
var minValue=15;6 b3 m2 }* L5 U' U0 {
var objs=page.getElementsByTagName(objname); ( `& j# `' A; l' e t
/ g6 ~2 B7 p6 U. c( `1 @
if(objs.length == 0)
# u4 Q8 s B4 q {
6 C* \# o6 h3 Q6 m7 u2 Y- | if(debug)' n) V: d2 c! C4 h2 v& V
{
' E' K w0 ]# t" J alert("no object found!:"+objname);
2 V/ \; V g! c; Y5 ]2 k0 C$ j }$ E$ ?1 b+ [* @1 g4 `- o( J- i
}
! j% }, N T, l- V else) J' o9 S0 E% Q% Y5 D0 \
{
( k& @: H0 K, _' ^0 S ! C0 Q" \( z7 ?3 X7 |! a
for(var i=objs.length-1;i>=0;i--) q" Q3 x( ]$ M$ H
{
/ B5 e3 H4 i$ y; l1 S0 H) _: D: I var node=objs.item(i); ! a. H8 C t) S. l7 B6 o
1 G [. r2 V+ ]+ _4 k5 t/ r
: a! s1 A! g+ p- { if(this.getobjstyle(node,"display") == "none" ||' u2 r' A6 @/ G" p
this.getobjstyle(node,"visibility") =="hidden" ||
2 q4 h* P9 i; L; A& Q parseInt(this.getobjstyle(node,"font-size")) == 0) + s3 `. `7 q) s% ^# o3 C# |9 T
{0 p% W2 p4 t- G
if(debug)
# x# h2 ^2 ~3 Y5 p. g* i {. S- P4 w* w' Z7 W
alert("remove invisiable!");
; s! E" [$ z, Y6 X' ~ }
3 c3 Z. q1 a; k( F9 a node.parentNode.removeChild(node);6 a, k& y0 K6 j4 \; a% M6 {. W
1 ?2 w3 v' b4 Y2 z+ i" I+ s/ _
}3 S( U9 g$ ~0 |( I5 ?
else
' _+ P6 [0 z* l; U" U6 A- K {" j$ r4 w% G0 R3 x* x* Y* m
if(node.parentNode) " b6 u: `0 u! L- e
{
/ z) I* v: I) O @+ w1 ` var orgNode=node;
( Y) I2 T! a2 \; H. z var orgColor=this.getobjstyle(orgNode,"color")
_ ~" N! f$ \& r u' g var orgRGB=getRGB(orgColor); % q2 q1 T& X- z; @! w
9 {, F( G, x& _' P$ B8 u4 N% p/ Y
var parentNode=node.parentNode& w( W+ v; w' H
var parentBgColor=this.getobjstyle(parentNode,"background-color");- |* f; z0 R" V9 F# u: s7 ?- U
. D8 t, v; N7 {2 S. b
var isLast=false;
& a& Q" ]7 M* C& V9 C ! {% h; N2 `# D. f8 A& j
while(parentBgColor == "transparent") # h/ E6 W) g7 F$ i0 ~/ |
{% L! Q, Q- i- O7 |8 {6 a
2 }' m& ]* I) W% M% ~8 r% y ; [1 E: k n: ~2 B o3 }+ \* B6 G
if(parentNode.parentNode == null)
Z P; d6 o. ? {3 m. s* k& ^; R% ~
isLast=true;
% c. l- P/ Z3 r3 ^7 P break;
p0 p6 W5 Q$ \ }) E/ W' j2 n8 M! g
parentNode=parentNode.parentNode;* Z6 |9 H( W U' ]0 s( k7 r
parentBgColor=this.getobjstyle(parentNode,"background-color");9 a" T# C" H, Q8 A8 u
0 X- B* u( J. |
if(parentBgColor != "transparent")
3 `4 H* O5 Y3 E5 s {; K; i* S$ d* m5 J( j# K' V
break;% X1 t% T2 @2 U/ x8 ^2 [
}
5 t$ M8 G$ P/ n6 w0 C* V }
5 W; L" K* @8 a, a) w if(isLast)
' }. l J0 ]$ X, G! x7 u" b' h. F" u {& \2 B4 M$ p. D1 o* B6 c
if(debug)
1 Q/ I! _4 ]4 G9 T4 J. ] x {/ i) U7 q8 P/ D/ z" X) {+ t
alert("last!!");, V {6 x: {0 j1 h) v2 }
}% B! V4 _4 S+ p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& l; l" u0 `) p: n. C4 S {
0 Y4 z. y7 j- T V. H orgNode.parentNode.removeChild(orgNode);
5 |# W6 x0 R% c# j; k6 { }
, }) F8 R3 r+ y: C# e) _$ B. A+ W: I }4 @/ V* v& M' \: W3 ^! s# ]
else2 n* I( \$ g4 G4 p% v% r1 \
{4 I- F1 D4 b2 o a+ Q( m
if(debug)
) o/ s* Z; H6 S& a {
+ N j0 j M' N2 A% m, } e alert("compare color and parent bgcolor!");
( `$ a l8 p6 w# Z( N }
) \- X) s K. z# \- Y) i parentBgRGB=getRGB(parentBgColor);5 C# Z5 x" i4 W( s2 D5 W% L
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 g% [/ g! E @6 w |& R
{; B* L( R9 h6 f9 A/ e$ c- j
orgNode.parentNode.removeChild(orgNode);
0 s8 f( v; {2 b* y }2 Y" D# ]4 V# i8 A$ w
}. ]! |% F9 \7 t: r: z2 M9 @5 ]& ?
}* \1 n7 b8 Q: X' x) L
}- I* P- K& T( b# a2 C' C" [0 B: Z) T
}6 E9 F! e5 L- v( T$ h0 b& t. U6 d
}
" ?9 n2 ?! ~/ ?
9 o0 L! `/ l/ y) H8 y2 t / M$ y8 W. F8 V: @" q
var itemFrames = page.getElementsByTagName("frame");
L' Q" d f+ K+ P' ~- v var itemiFrames = page.getElementsByTagName("iframe"); ]) w* S, a H! n! J& B: C
0 l/ s1 `. K. }9 g2 Y5 j
var frame, iframe;& p8 K5 O( U4 `9 z
if (itemFrames.length > 0)1 ^4 e/ _* ^5 W- n. b' a
{
+ E5 ~1 g* C$ a; g+ j( w# i for (var i = 0 ; i< itemFrames.length ; i++)
& h' M! J( q: B4 ~ {
8 u8 G: y6 V4 O5 a% a# T frame = itemFrames.contentDocument;
9 w4 \2 c9 D3 e" ~: Q) Q! L4 ^$ z this.RemoveHide(frame,objname); 4 s" ]7 G% s, ]' a
}! h$ P7 R8 q" u8 V/ h) m( M. a I% n
}7 z0 g6 p0 S7 N2 Q% Y; |! D' H6 O
if (itemiFrames.length > 0)/ s/ k8 K9 ?5 s
{& K. |- {5 m9 x. S0 }
for (var i = 0 ; i < itemiFrames.length ; i++)
; A8 C( i6 K& z; m. {# ]) m {% S3 w2 [1 T A2 R$ [% T
iframe = itemiFrames.contentDocument;
8 z6 ?' C/ Z. Y% | this.RemoveHide(iframe,objname); & i0 w( ?; E& \3 K4 F! i' I/ M
}3 x* R. V% B: Z9 B9 D k0 ^
}/ |1 [# L4 x$ g% Z9 [
}
6 M; g* e' _2 ?) V catch(e)2 }/ p# b' ?* E) Q. n1 R
{
5 d& A- N& M' J6 E if(debug)2 \, Y0 L: U: ^' t
{
% R4 |2 _9 ]6 }/ J# `6 f alert(e.message);
; T( W( X, o: {, ]+ t4 u& u" Z! N }& l: M: s: d% E7 d) B
}
7 |! G! O' t# V/ W8 R3 h0 \( @2 _5 ~ }! E7 t! [5 r' V, g# F; x
$ K$ L2 Q0 d& ]$ R) h& e
}" F2 d" t0 T, p
H; X1 T8 l* |1 V* e1 @8 j' C2 {function getRGB(colorString)
5 s5 b" N" H& C. i9 `7 d{
/ P) [( p! v, q var RGB = new Array;
0 j" {+ I" `* H var tempSting=colorString.substring(4,colorString.length-1);
& f! i! x5 o7 U3 i var tempArray=tempSting.split(",");$ R9 J* D4 a2 E' i; M& } p$ |: V" Q
# f+ ?6 `3 \9 Z) n7 v3 ~/ G
RGB[0]=parseInt(tempArray[0]);
" o& d; N- F2 ~; q0 l# ~2 ~ RGB[1]=parseInt(tempArray[1]);* q5 x$ t* ]# j- o5 W G
RGB[2]=parseInt(tempArray[2]);
/ i I/ c7 f3 ]' ?$ i+ v
* d' w' m3 E6 W0 l return RGB;
5 U0 S1 D( x6 `7 B6 q* u" |}( ^. o4 {- D4 E( T
function keys(evt) - @5 d! T. l5 C* @ Q, M
{
) O! l! R7 Q3 ]" a0 c if(evt.ctrlKey && evt.keyCode=="81") , f' `$ y7 g! e# l4 [% G
{
. g. n4 W/ C9 `2 m: {/ } CleanHideObj.on(0,1);
4 U; g( i, T! G9 S( g alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 x) Q# n! r8 K7 a/ w
, x- ?, _4 m% F7 \5 R7 W. E& [
} % j% ?2 O- O0 h* y
}
) h! p9 Z7 ^6 C3 y' `1 Sdocument.addEventListener('keydown', keys, false); 0 E, m0 V) y* W4 a5 `7 J* \
GM_registerMenuCommand ('Clean Hide',- _& [+ Q g k0 Y" w
function(e){* I0 e) x% p+ t8 ]: b* M6 p
CleanHideObj.on(0,1)
2 j- _( H" p+ X/ q3 A O0 qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 {7 T& J3 ^; L7 [/ ]4 t+ G});7 C! I7 V/ y c* s+ c
|
评分
-
查看全部评分
|