|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. k" n+ ^2 L/ ~" d+ l9 ?4 k% U% p6 X1 D5 G2 l* y6 W: x. c6 F
火狐插件,用猴子
_5 C0 y4 N: L: y
1 d# f1 L K/ V, `var debug=false;
/ t) ]2 T7 A# j% l# Z8 Jvar CleanHideObj=new CleanHideClass();
1 x* L i6 s. O3 }8 q2 O) ?: ]. P/ n' o" O5 _
function CleanHideClass()
, j. ]% l; L9 h6 l: k0 y9 X{
" j% ?/ c' L7 P+ @) R 3 R4 q0 p4 E/ p0 W, p1 X/ T2 D
this.on=function(id,bMZ)8 H: g: M& C) D+ { y
{8 o. p6 X) R, {2 Y' n
6 V0 j. m U9 D
if(id == 0)& r& {4 d: h, N$ _1 q
{
1 P9 d6 C; i# n" f var page=/* document.getElementById("content").contentDocument */document;
; [4 _% w2 A' @, Q" X this.RemoveHide(page,"span");
2 W" f B: E" k( T( p; D this.RemoveHide(page,"font");! {# z. `& w- G8 v6 H* w
this.RemoveHide(page,"div");9 a6 F) e5 {' Z. Y7 `+ d S4 {
this.RemoveHide(page,"p");
5 E4 M4 O1 O$ K# v- S
0 `: v& ^/ W* z# B! V) W( s" J }. ^/ ]& n# T& f( ^, Y8 `# d
. m+ v- s$ D/ Z- T" q. K( ` }
5 ]" t) R1 W5 U this.getobjstyle=function(node,prop)
z4 t+ i: p& Z T {
# z5 ^: F1 i' u try0 d3 ~9 O1 w: ?$ I0 w
{7 u% b( U9 x8 [) e" ?0 f% b2 I
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. y& l- {, \+ D4 N) i& S }
6 N" Z3 v4 v5 h3 @4 l9 j6 f6 v0 e- M catch(e), X; }: }3 k7 t5 {
{
$ M2 k) g; T3 U/ r5 k v if(debug)
2 q$ P9 s5 v1 G# b& H {
5 u% ?) w h8 G9 ? alert(e.message);
; B1 u" a: S. o }
7 G/ u. A5 m$ T9 c# w+ x
; C7 g& Q1 A# c+ x1 N* d- q return "200";
8 V* V" f5 s1 E# y }7 p0 L" F( [3 |6 v8 K& b" A5 B
}8 j5 I5 w8 K% @$ k9 ^* }" ^$ k
% Y5 @% ?9 w: M: ?9 y( U/ B this.RemoveHide=function(page,objname)1 |) M9 P9 m& t4 h
{
* r- P% h/ \: s4 u' Z7 T( m6 l try
) T% m: x, q" q1 d {& m. G( U% W/ r6 W$ ^* T: R
var minValue=15;
4 K0 \; M: D% @( M4 O2 X" c; i var objs=page.getElementsByTagName(objname); d7 r$ u3 ^ Z- L" V
8 m c7 E* C- X( @* U
if(objs.length == 0)
% X [2 ~5 o1 G9 {# \ {
4 J+ `/ ]) y, i. R1 M" i7 e if(debug)
1 \$ ?1 g# u7 }3 j* W, X- o {
# D& w- S* v1 P1 \9 r+ p6 B1 d alert("no object found!:"+objname);! n6 ^5 U0 p; \4 f, @5 P6 l" Y
}6 f1 c+ T) o6 S7 h
}
7 A& ?/ X& p7 j2 m- r/ Z else+ l0 w7 N7 c* l; ]5 t* T
{) b* a5 `& B; S
6 w' L6 _$ K& P' M$ ? for(var i=objs.length-1;i>=0;i--)
, E' M( U/ e! E) Y5 m7 T. @ {
! c- H- O5 [& Q0 g. K: q! ] var node=objs.item(i);
2 K+ l" S5 f, ^ 7 a: ^: n: _: _ ^
$ P" K+ u* ]! L if(this.getobjstyle(node,"display") == "none" || @5 H! b& q' [9 K5 o3 g z2 ]/ E
this.getobjstyle(node,"visibility") =="hidden" ||8 J2 o. e6 \* c$ s3 ~- a
parseInt(this.getobjstyle(node,"font-size")) == 0)
, {) G0 j& r$ ~) S$ q {
* M: C% a3 f5 p% @ if(debug)
; U9 k9 ~4 y3 T; O3 c6 X {6 ?. F1 m* G; C: t4 X
alert("remove invisiable!");
8 V3 O) y# ~2 W. H6 ] }( ^$ I8 \ O2 @- @$ K& R, y
node.parentNode.removeChild(node);7 V9 _) ^/ k' b# k* _
; p9 l- e! j0 x& c; m }
5 h6 z: b9 x9 V' w- ]+ |' N else - q2 C* F1 }% w/ [
{3 d) n; i: |6 w9 R) S
if(node.parentNode) - e ?! u, ]& b4 W. c8 Y, q+ k
{
0 L# w; t7 P5 Q2 l var orgNode=node;. @) z1 `2 _# @1 Q4 \! o
var orgColor=this.getobjstyle(orgNode,"color")
. G& _; n9 ~, A3 s. G0 E3 j var orgRGB=getRGB(orgColor);
: h* `0 W8 C# m: e
# O, L( `6 N/ L4 ~/ ]% ~' Z var parentNode=node.parentNode
3 e: I( l( Q3 O3 Z* \" q2 H var parentBgColor=this.getobjstyle(parentNode,"background-color");
7 g* i: }5 l& R( @. x* H
; Z+ Q) D+ M$ f0 N" A1 F# Z var isLast=false;
. [2 u- o9 o) h9 m) X
6 i( B/ \6 e+ x% C1 }4 L& c& v, D while(parentBgColor == "transparent") ) q# f4 q5 U0 ]( o( _* d
{
) L) O7 e9 j, |- T7 z% S
( W/ v0 {1 O1 x0 |- q
+ K6 }( x- v9 D if(parentNode.parentNode == null)
( ]0 _: o* n+ n0 Q {/ `0 {$ r5 x5 }7 H s
isLast=true;
# W$ \$ s& @4 G+ \7 q) V6 m break;8 S1 ?- K' L# s! U. d
}! a$ o4 h' m5 G
parentNode=parentNode.parentNode;7 t, e* _% v0 A+ N
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 }9 Q6 k9 k- z/ W% h) E" z" f: A5 }4 N
if(parentBgColor != "transparent")
! W1 {, h9 K( A5 i7 P9 I {7 z7 F1 ~, S5 z2 i# [4 @' b" g
break;1 y% ]) s+ ]% l' C' J& I
}7 z3 E1 t; z# [, g4 h
}1 g. C- K" o" Q6 }( {
if(isLast) ( B: Z4 h y( K* G7 u
{% U1 S0 k# i2 ^4 A
if(debug)6 D3 Z0 B, x# F) I! `6 L
{
) d1 h5 w2 ^7 f, z& `+ d alert("last!!");
0 _' S1 L& s" y2 g, O3 t) ?7 ~0 Y& O8 k }( l0 u" N, r2 c" n
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
9 s1 _/ z9 G+ _; L {7 t- |7 ?( e% Z2 ^( y
orgNode.parentNode.removeChild(orgNode);
! T4 r2 n! w/ s2 i4 p9 q3 j }2 k; K4 R( F& W# m) }2 L3 u
}9 W# B1 x$ g! l8 N& z) P9 L8 e
else b* W; t9 s- Q7 @1 t6 k1 C
{
2 Q6 g( S% u1 |( X if(debug)# G9 z8 N8 \" q% w2 q- v( d
{. q6 o- ?- S1 A- c* g0 M# z! U0 l
alert("compare color and parent bgcolor!");
2 y; w7 l' r$ r; {" t7 }! R }! x7 f+ _; g" u0 ], B m6 T
parentBgRGB=getRGB(parentBgColor);; t v9 d0 I6 R$ M- n: Z! ?
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ `' }4 u9 s' R5 W5 i$ @ {/ U8 l' a5 b: g- T) Q" v x8 r
orgNode.parentNode.removeChild(orgNode); 4 T+ U9 b4 o2 p4 v5 v ?7 }( H/ R
}
; c9 r0 m$ M, V& f D4 E& C }* Q2 R; d2 W0 B0 M+ D. p; r
}$ m: _2 [5 B# y2 _; W) X, s
}; m& z% E8 t4 U/ w* ]
}/ M4 _ J1 G: [, Q
}
9 D1 w' |' d5 g 0 U! h5 U. S( K& O1 W
5 Q H8 |0 V# d7 \ var itemFrames = page.getElementsByTagName("frame");
! E8 |! m! m q+ V! [ var itemiFrames = page.getElementsByTagName("iframe");
8 r' f( B7 r& B" N/ p' d" A
: s' |" P+ y4 B, u* c& |8 o var frame, iframe;! D2 l: c. d7 W8 {) Q/ Y+ d$ C
if (itemFrames.length > 0)% \/ w4 y4 N8 p' S4 E$ e
{, ^) M e0 `* [9 n# }8 }
for (var i = 0 ; i< itemFrames.length ; i++) ( H- U0 Z% ]9 t
{4 C$ `7 c0 o1 K) E% D6 s x8 C
frame = itemFrames.contentDocument;
6 D% ]9 C& z0 n. T# Y8 K( \ x this.RemoveHide(frame,objname); ! x+ K& d2 u9 A* Z5 z4 b c
}
; m/ b+ }: v' s- b }$ C/ Z" ?0 H% W# c9 l9 s+ r
if (itemiFrames.length > 0): p0 Y& T! m' t+ Z0 x) Q
{
, O$ p( i5 ~- x. y7 f; s" Q for (var i = 0 ; i < itemiFrames.length ; i++) + ^1 U J/ m$ b, d2 E
{
3 {5 h4 \& J# e& | iframe = itemiFrames.contentDocument;
# z, m7 W: j3 ~+ U% i# r this.RemoveHide(iframe,objname); ' T& G5 o5 [4 ?$ n
}% N% P/ [. F- ^. s* b! U
}+ Y2 j: Q/ s! y- F j
}
% X6 p6 K9 H- ] catch(e)
/ ?6 e2 ?, L: {# d {' ^, U" C& i7 w8 f% z
if(debug); U9 f5 B3 T1 U" x# S# m
{2 [! o, q9 s" T) B4 P
alert(e.message);1 V+ L# M; A' N
}
" R$ @' g- [- v8 d }
1 W B9 B- L; J2 ?$ j }" b# ]0 Z. {4 c4 |1 |& e" I
" H4 i1 K- W# }, u1 q
}
/ ^: c. F$ B' t; R3 c% |
; W+ _/ Y: |% M) H) a9 kfunction getRGB(colorString)) O6 |0 X/ ]( m( K$ `* _! K
{% A2 P5 _1 @# Z7 u; M/ I
var RGB = new Array;/ z+ B! x t1 W7 e# P( R# L
var tempSting=colorString.substring(4,colorString.length-1);( c$ M2 |; C- Z L7 p
var tempArray=tempSting.split(",");0 b- d1 U5 S/ B& E- t4 D# u
$ g+ L& F; G) x4 f RGB[0]=parseInt(tempArray[0]);
9 C' e+ y5 o3 O& \9 { RGB[1]=parseInt(tempArray[1]);4 t% B$ H, U. y* }& l7 ?) K
RGB[2]=parseInt(tempArray[2]);
3 G" j* y: v |- D/ | f
0 i! G$ A' g8 [, T9 s: h H( p return RGB;
) ~$ {8 f" s# l; w, {8 n# J}7 w8 l5 I# Z- R0 y: Y" m
function keys(evt) 0 e9 y9 b% r/ t( d
{
. M+ @3 M G6 ~ if(evt.ctrlKey && evt.keyCode=="81") - j) d. o. S, p
{
0 w. t8 W* Y3 h' K' ~ CleanHideObj.on(0,1);$ C# G9 Z7 W+ e" m" e, h t
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ |; b. c: h& O$ ?9 f
+ \2 D; `8 ^ g! w$ d& q& O+ g } ) n/ F) B: x6 h3 K2 f
}
9 l! k1 L* y( [# {6 m9 U- Ddocument.addEventListener('keydown', keys, false); # O8 q) O! Y& I" ^) \: d
GM_registerMenuCommand ('Clean Hide',
3 Z _' ~( C# k, M, {9 d+ kfunction(e){) q3 g' |- |9 i7 q* p+ @
CleanHideObj.on(0,1)+ z" r5 P( k" K5 \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 k& ^1 c9 U B: t# Y3 s
});, Q0 r9 S- O# d4 z, l: r* K
|
评分
-
查看全部评分
|