|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 * V! k3 e3 F0 d6 ?2 w" ^
2 o, n3 y- K6 E* J9 y& |& z) B* X5 Y火狐插件,用猴子6 k. s. r: `2 [+ V
$ o: M$ ]1 G9 Dvar debug=false; , I' X; V: A; B0 }
var CleanHideObj=new CleanHideClass();2 [5 P2 }; u% b
0 k! | }% G# l" P, C) sfunction CleanHideClass()
: S# G* I0 H$ Z- f0 O{ g. e8 b% A8 K
! R3 Q5 Y! ?/ K. x" O this.on=function(id,bMZ)! J, l9 q9 @9 x9 A
{/ e! w+ y" c4 @: G
' n3 F! R, v+ T/ i
if(id == 0)$ s% N I6 E$ b
{& a' d" E, f. u3 B" v# m1 ]
var page=/* document.getElementById("content").contentDocument */document; " [- a+ y% N; d" `& Z/ ^
this.RemoveHide(page,"span");
- ~1 w6 ] D; `& ?" [$ k" R9 Q. t9 { this.RemoveHide(page,"font");6 c' I, b5 \7 F
this.RemoveHide(page,"div");; w( n6 [0 z; C7 p @2 q* y+ e
this.RemoveHide(page,"p");
+ p- X) q& o! f2 d
( ~+ [) N, q$ J8 f6 ^9 O }
; b g/ w8 O$ Y' C3 A9 ? 7 Q3 K+ D, `# Q
}
) v$ c T) i8 M* U0 R this.getobjstyle=function(node,prop)
7 n/ w! |6 I; u& L {+ D- O, b# Z& i; N
try3 j7 _ a0 X; c: K
{
2 u: r8 A( E5 I- T9 N return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 O j" |7 Z5 k& X8 x. R& g }
% J/ d8 [ {5 B0 Z1 T catch(e)+ G3 T2 Z: X7 Q' _+ k) N- \
{
& M0 k. Q$ G0 J7 m. S/ E& e if(debug). c2 g' F4 J1 c/ ?$ Z
{; K# \/ H# K, l- B% D' L+ h
alert(e.message);
8 X, A( f8 h* o0 r! G( [ }6 {. K+ b) s! a' g& r% `9 D
% L' i6 j7 E. G/ X# x0 P1 Q return "200";
* q/ W" s# ?% Y) i# `- v h% L }+ _; s1 d& }' I. C/ X% ?; f
}6 ~1 ]+ Q9 g# }0 g! U
2 g; X. O p7 ]/ e
this.RemoveHide=function(page,objname)3 c. q# R5 Q5 V- P ~5 n7 \
{4 }" K# [+ ^8 Y( L/ A: r
try& i0 K- S, A! a! o
{8 `$ Q# f4 T; |. s6 o4 e" q: D
var minValue=15; E- V7 D9 }6 P4 R6 C0 O# B n
var objs=page.getElementsByTagName(objname); 7 U; e, w. W* [$ w4 v; U. w2 Z
0 \4 i H o; R- [# G" A if(objs.length == 0)
: ~* Q# a. _5 f5 g! g) }! w4 s# | {' T9 V: n r/ }# j
if(debug)
" N( Q d4 P2 E/ T/ R, R* R% B/ H {
$ O1 F% `+ E4 W% P6 J7 J" W* H) W" f alert("no object found!:"+objname);
+ W3 S. u' y+ |; Y& U }
% i+ W& P* K; h% I @ }' O! l6 B1 w' {# J. _4 i4 m
else- Z' w& ~+ P+ S, i& P. ~( J
{7 V; k7 Q* t- d; X* h
7 ^3 k0 z4 w4 s0 R5 ]- u9 M for(var i=objs.length-1;i>=0;i--)
* u3 F8 a( z+ h; a9 q! V7 ` {( H1 c+ \0 w4 E
var node=objs.item(i);
; r$ o% u6 o/ d+ j$ L7 s; u( L # Y: \( F8 |9 ^4 g4 \
) m7 t# G E- n$ T6 O H' ^( I9 `6 c
if(this.getobjstyle(node,"display") == "none" ||
( Z8 J7 j/ I% }; n& h/ b4 r this.getobjstyle(node,"visibility") =="hidden" ||
! G$ G3 z( d, p, a* Y parseInt(this.getobjstyle(node,"font-size")) == 0)
$ ^7 B0 q) }% h2 F9 i! w2 I {
/ N2 k7 t& \, E: ]6 |! O if(debug)
, D3 x K% s. n5 d+ O; r c {
$ m9 l' H. c& \ R2 p- l0 }* n; m alert("remove invisiable!");6 Y4 X# n1 j; w
}; i$ p- V4 V; [4 y. b) U
node.parentNode.removeChild(node);
( H' K7 `8 P3 M' P ; u, `: Q6 l1 V( q
}! m9 w/ [5 B( @7 P* p
else 9 ]- a: W7 X. b
{
0 j! v! g& v4 h* E! t if(node.parentNode) * [9 a- a" ^; M, n
{8 b+ V1 ] F! [; P; G
var orgNode=node;
& c1 r( A/ u0 `7 B! ]9 G var orgColor=this.getobjstyle(orgNode,"color")) L. e9 O' |6 K5 B/ N: V
var orgRGB=getRGB(orgColor); ; t- a2 K% K4 c8 |3 l8 o
! |: u3 i- q! \; d- ]
var parentNode=node.parentNode
' Y7 `' q" w# Q9 m! @5 V var parentBgColor=this.getobjstyle(parentNode,"background-color");
# Z9 {! @$ T U- m: C j$ j
0 g1 m' t7 T' k; p; R! y1 W- T var isLast=false;# z) v9 K: ^ v* S
- b/ ]5 m. T$ \# M$ Q while(parentBgColor == "transparent")
, U% B& p4 w" Q& m0 d { f/ n0 U1 k+ P
) B( T* z, z! G8 b$ F
8 I$ {8 C- H7 T8 A- Y if(parentNode.parentNode == null)# n8 z! V, h. g; k8 x
{+ Q' t7 p) U5 Z- i
isLast=true;5 d# t1 I6 U( ~! A$ k' H& S7 Q. I
break;3 S0 D: s& h; @0 k
}/ l6 Q, K+ ~6 p& i0 \- {
parentNode=parentNode.parentNode;
$ _1 N' z2 p, ]+ \) B parentBgColor=this.getobjstyle(parentNode,"background-color");
- T4 ^7 _/ |# h/ b3 O
. \: r$ j, S7 O7 U7 M" L" D) j if(parentBgColor != "transparent")
1 }( d7 e. i# ^ ?; w! M4 a {
8 y5 a+ [/ m- m3 Q break;9 J! d- u$ h* v+ b2 g4 \1 K
}' `. t) j) P0 x5 j7 L. `: l5 E9 ]5 j
}
( `& `# d% @- l ]) x4 q9 t if(isLast)
8 @" c, J/ A- F. u+ b1 ^1 b4 u {$ Y, ?8 j/ r) i' \
if(debug)
! v7 k3 o$ y8 P* p% P" X4 G; f {
% d( h3 }/ F) t: M$ Y/ D% U alert("last!!");
1 R. ~! B1 ?$ Q$ d; A0 x }
# I3 r8 }# i& d" x( c; j if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))7 V6 U3 Q9 x! J2 I, p
{* ]* q' V) a: v6 M+ n+ t
orgNode.parentNode.removeChild(orgNode); , l' p* h1 _- @8 r9 j7 S! M
}8 q0 X! l' W, P7 [, [
}' E2 O8 n5 ?! v2 O- f q; ]
else% P1 ] t4 A0 R. E( k" J$ k
{! M6 h! T. `; P0 b0 C
if(debug)
- R4 d! c% _8 U {
0 V! l }% e1 p) N5 B- `" o* Y" g alert("compare color and parent bgcolor!");! }. { w5 S: U6 p
}: p4 E( v5 C0 F; V+ I9 ]- q
parentBgRGB=getRGB(parentBgColor);
! ?$ h7 V9 K+ O3 Z" Q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- K% z n, @" l3 C
{
' k) x% A$ w1 h orgNode.parentNode.removeChild(orgNode);
7 w% d' d/ y. C0 p' y. F1 B/ D }
W9 U, _) E' R; F+ i" @( l- q }
h/ |, F9 ]) I" D. G- H$ F }
( L- p) X2 U/ _( X3 a. c# W }) b+ t+ b/ B$ _1 ^" |
}
! G2 { V# M- O# m/ e ^ }6 P" w$ ]5 ]7 R
* y }: {" }/ q- e( q9 r
' l! `+ r# G; d) c8 a var itemFrames = page.getElementsByTagName("frame");' n( n( ^4 e5 A* b4 p/ o
var itemiFrames = page.getElementsByTagName("iframe");* B5 C3 q& V1 X/ G
* L7 H9 w, e, n: O( `5 a
var frame, iframe;- Q& G5 D9 o5 e. Z
if (itemFrames.length > 0)( G& o- h- ^3 o- `+ M: S6 d2 |
{
( f# X# O- H' E# f$ ~: u6 \ for (var i = 0 ; i< itemFrames.length ; i++)
' ~8 {1 K& f" A {8 m4 u( {6 i9 y( L' g5 n0 w2 I0 u
frame = itemFrames.contentDocument;
( J1 E+ t$ |- v* p this.RemoveHide(frame,objname);
) P5 z: S$ |; W6 u8 H }
6 d2 L( W& l1 S# N( ~5 R }
; f1 L0 X2 c- Y% L! z, } if (itemiFrames.length > 0)
8 w J! g7 f0 u! b+ y {4 ]( B4 ~% t" b+ J6 K4 q- K
for (var i = 0 ; i < itemiFrames.length ; i++) 2 D. M9 |" M% q, \3 X
{3 r6 S+ r: K: O
iframe = itemiFrames.contentDocument;
1 r8 Y3 Z0 w( L1 S3 \6 d this.RemoveHide(iframe,objname);
4 F% y7 b1 {# R* P( G }
4 c. j1 _1 o- x$ {" Z }
( ^% P' Q- v! \$ m S- e2 z8 h }+ r5 F, d. @& ^
catch(e)% L. J1 f( q; a1 T
{
1 A; q) b; r# S5 X' a: d. b+ A) k if(debug)) T0 }3 S& S+ |: @" e7 Y7 P; T
{9 B( B# n C/ a3 V) j
alert(e.message);. b. H4 f1 ~0 ]9 B+ ]$ e; V
}
9 m6 H7 c% m) @' B( l }; d/ a; {# u! c+ J& c5 c
}9 S8 z `/ F2 T8 y
7 I' [' z" |; t' c0 L
}
4 S) @, l4 V' c* \- P) g+ v! A8 d6 P8 P' a! B3 {2 |% W
function getRGB(colorString)# _% G" Z2 h1 B. x# r
{% G+ y ?+ F. D+ k0 p) ^
var RGB = new Array;
2 G; x: o. i- t! e var tempSting=colorString.substring(4,colorString.length-1);" A3 Y/ G! E* d( A' W- _" T) Z' I
var tempArray=tempSting.split(",");% i& X5 t E; o
% U7 p8 h4 u. A& q K( ? RGB[0]=parseInt(tempArray[0]);
( Z7 o* o1 L9 v RGB[1]=parseInt(tempArray[1]);: [: L' {$ p( d; \
RGB[2]=parseInt(tempArray[2]);+ i* o8 s& Y% X9 Y+ O! H
7 A" Q" X2 ]: a7 Z; \; F
return RGB;
* p7 `$ D' r/ X6 V" H$ V m}# {% T1 f4 X" M8 x* a$ R
function keys(evt) $ I- v" X5 b. b' v( V
{ , J, O' l f3 l8 p% \7 G, M: n' _
if(evt.ctrlKey && evt.keyCode=="81")
5 z! @6 n* g0 |& |$ m& X { : v* W5 v& ]( P( ?4 K/ Q
CleanHideObj.on(0,1);; m8 y5 S9 L1 b# _: q: J4 ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 _) v3 a8 D7 ?' v0 s 5 u) t! N2 w% P$ l/ a: Z8 a
}
! D7 f6 `' W& {8 I }
5 `0 a6 Z5 z1 qdocument.addEventListener('keydown', keys, false); 7 P) d5 ?* g$ p# A% E) h. V
GM_registerMenuCommand ('Clean Hide',
1 B5 Y( S6 F; C3 `, }* Q+ ~, cfunction(e){5 U1 d+ ~( [3 r! E0 J+ w/ x# _
CleanHideObj.on(0,1)
3 ^# r U3 q+ B8 H: lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# G, ]1 A4 m3 i+ I. c
});( k4 ]; @ \7 X2 K6 C! I
|
评分
-
查看全部评分
|