|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % V2 y2 e- V2 \- ]' |: \
7 [# q6 V% D! ?
火狐插件,用猴子
0 ^$ H! a i" c2 J* j o
; O+ o2 R7 ?. `9 Hvar debug=false;
/ M0 x! b" k( b7 H/ A+ @* Jvar CleanHideObj=new CleanHideClass();
; M/ n- T, Q% Y/ v: g2 a4 m: C; V, {7 ~- K S; I
function CleanHideClass()
* V0 g4 X5 D. m; D& y{
* A6 \: Y* c& m$ V
1 {/ \# I3 l- H( n3 q( v5 ~ this.on=function(id,bMZ)
8 g* ^1 p' m& T' o$ ?0 g6 V {
; [ \$ @8 ]& U7 J ) W: y5 d! s+ Q4 n& C2 D6 z
if(id == 0)1 k# P: M* k3 w5 }8 X( I
{; A# U! p4 p: `& c& z
var page=/* document.getElementById("content").contentDocument */document;
" C- x5 T3 }5 v4 y" ^) I this.RemoveHide(page,"span");4 P$ j! s$ K8 w" l; w0 R* C
this.RemoveHide(page,"font");9 A. H& k8 Y; e' I5 u8 l
this.RemoveHide(page,"div");
: P, ]8 ?/ J& |1 O$ [ this.RemoveHide(page,"p");
6 j* \/ J, a$ e' G. T2 U
; n- A7 [& g% m& \ }
/ C' Q$ p4 ?* ?% H) g 2 x0 G; P! G, u% T
}) X: j! m# v7 Q* a. p1 L
this.getobjstyle=function(node,prop)1 a- d: t) i( t! H
{
% _* Q* L7 K- E try1 H* w4 D7 t) h) @- ^/ h' g
{
# L8 n3 V* o) i! d return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 g0 p% i. |% B3 P
}2 `* m; y) H K+ u o) V/ f0 M0 O
catch(e)
# T- f* k& w8 H! C* J1 x0 C {
) d6 o, U* A0 B5 X if(debug)# s2 i& v9 { K) X
{' ~$ E5 B. x# y0 o% M! Q2 N, O
alert(e.message);9 ]5 ~( E1 c8 ~$ g
}
+ t% T E9 e3 L) r- K! ^ 9 k/ b4 L' q- ?$ E1 O( l' |6 d: A
return "200";# U F y' w1 s z5 m% G0 k, {$ J
}2 O6 X1 ~1 b. R. Q: _
}6 K4 e' C" i W1 o: e9 y( P
3 ?: z0 F! L$ b' O. G, w
this.RemoveHide=function(page,objname)" m( R x- `9 `; x1 t6 N
{
/ h8 F& W. B& i( d# ?7 S try
! @% M% m2 ^3 K {* S+ X9 d; A# h; u1 V6 D& P1 F1 V/ k
var minValue=15;. C$ p f! M9 C% D
var objs=page.getElementsByTagName(objname); 3 E+ ?" `6 V) l3 v5 J
/ _& t8 m* e% y. T' ~) f y
if(objs.length == 0) Z* Y+ p, E$ h1 D. l, W
{
0 C. H0 O9 ?) s8 J6 y y# L if(debug)
. w. M" | E7 ~& g0 Q {+ i6 G y$ y' w9 [& ~, K
alert("no object found!:"+objname);5 B9 V, B& W$ y* [( U5 u: @$ `0 O O
}
: q; N* v% f. E% y" h }6 \5 _% v6 x& A( K E6 H
else
* e9 [# p4 y3 d7 U! J {
/ Z3 x9 z9 X5 h, S. o
( Q T$ w0 Z$ Q1 U! S for(var i=objs.length-1;i>=0;i--)
; }4 ?( O$ T9 k+ d5 G {
7 b2 F/ O6 j/ z8 G var node=objs.item(i);
4 s- f8 W" R Z* ?/ y: q
0 P% h3 T6 Q3 A$ n 4 \" a1 l4 W+ H. W+ i
if(this.getobjstyle(node,"display") == "none" ||) m: h- M& M$ x- b- m( g
this.getobjstyle(node,"visibility") =="hidden" ||
; |' n+ H8 G% @" f) H parseInt(this.getobjstyle(node,"font-size")) == 0)
) B$ I$ W) H% ]9 A8 N6 X1 D {' u+ _9 I% Z$ E% z4 L5 O4 l6 k% f
if(debug)
6 C5 n4 l3 g9 Z; L- }: [ {3 Z- _, ~$ w. N) l9 \! X1 N
alert("remove invisiable!");" n8 [3 j4 I, s" u) V2 T* Z. Q
}- y' c1 p, M; P% Q" h! I
node.parentNode.removeChild(node);
# X7 V) G' p3 Z/ k
) C( k. v% ^: Y } }$ p! {' ~. [9 I" L8 a% \
else 3 z% Y/ ]6 f& t9 D% w9 O& ]
{, O' @; j" H: E9 u) T
if(node.parentNode)
! s4 s4 U* B3 f# [# R8 f/ F {
( v) T, U9 v% v% Z8 M& g var orgNode=node;; d9 l9 X" f% ~8 i6 W$ p
var orgColor=this.getobjstyle(orgNode,"color")- M' F9 {& a1 S4 Z
var orgRGB=getRGB(orgColor); ( Q+ T! T. l$ ^. z$ d2 v; h
2 [) m B6 u/ K7 P7 {$ k( \( A var parentNode=node.parentNode
d+ q4 K% j( ` var parentBgColor=this.getobjstyle(parentNode,"background-color");
* Q7 t: ^+ e! \7 B; z
4 x; ^9 b9 M* h% a- X9 E var isLast=false;
8 W3 I4 |* N6 `& N1 C6 a $ ?' A9 Z# |3 u( `) C
while(parentBgColor == "transparent") / w. `/ X+ i W; w; W
{( s+ Q' g! }- [& o
! S) ?4 N& W `* E5 @ [6 l % w1 d- X/ [! d2 |: H$ u! b5 g
if(parentNode.parentNode == null)' S! p5 D/ O t6 h" O5 `
{
9 i) b @' c# X0 o/ G- Q. ~8 E isLast=true;0 v% ]9 N0 ?+ Z5 _% S5 z' I. h1 Y$ p
break;
. j4 m, p, C+ A7 ^7 _$ C& h } n4 z" e1 J( c5 e3 c
parentNode=parentNode.parentNode;
7 y- R6 G3 m* K parentBgColor=this.getobjstyle(parentNode,"background-color");- E9 @ {5 L* C/ o( Z
! I+ z% h. A' B, u/ s
if(parentBgColor != "transparent")
t3 y& T/ [7 U6 N$ B+ B) V/ `" P. z {
+ R1 z" w% Y+ @6 q break;' H* g( J, C' q% y5 w3 Q" p/ b% q o
}8 Q1 k$ d* {7 {4 U) g& y
}/ s/ p( t8 ~( R, b1 G
if(isLast) - k$ b2 c4 ]4 B6 i0 H
{# q6 i" P: k' Q+ f9 _( M- J
if(debug)
* U% s' r+ G, R4 t8 {0 s {
3 J, }5 `+ G5 ^6 s! E& m% t alert("last!!");1 n. E# b" W, x$ L4 Q
}
& U6 ^6 m; c2 [% {" \4 N0 I if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 t+ y! D9 U G v {
+ X1 S* _* t& T3 R; a# z0 r orgNode.parentNode.removeChild(orgNode); 8 P+ }9 d( K5 z0 ?
}
$ Z! d/ K8 d/ z5 I% D' I. Y# F }) }" | T! @; L- p e+ v% n
else
& c- ~* y( ^7 |# M; L' H {
" }$ w6 X$ m% w6 E2 x0 @ if(debug)
! K# r) U3 b! k. E- T9 C6 L {
7 m2 I% W0 B; ~1 y alert("compare color and parent bgcolor!");
$ ^! N0 U9 G0 `) w! s }
1 s% e3 X" p( K+ I B* B. o/ z parentBgRGB=getRGB(parentBgColor);7 v3 K) t% g! g% t- S: v! {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ h2 n1 Z' \6 o- \+ e8 Z {
% Q2 [! }5 F" k% R* j ~5 F orgNode.parentNode.removeChild(orgNode);
6 m, k ]' j, _0 S }
/ H6 T# S* c t( w9 G }: |" |: c+ _4 m0 K
}5 ~6 ~) k& X- K& b; y5 B
}8 @" A8 N; X" u6 F1 @" P! D4 b
}+ R- b5 o! Q! E" |+ X1 [3 n
}; {, A% Z. h& E% c
* ]: b: i5 i5 I/ D" ]* |8 X# u
6 p% r, v8 r8 S/ H$ L' \
var itemFrames = page.getElementsByTagName("frame");& M# T, f( d! j# b; m
var itemiFrames = page.getElementsByTagName("iframe");
: `8 M- R$ k+ B1 i) t2 ^
# Q+ v/ N0 ~' @. G- F9 m var frame, iframe;
( `. t5 \" }3 |+ I( P+ p2 E if (itemFrames.length > 0)3 w- I: f5 c2 i r4 }6 F* z) \
{' K; j, J( b* N- O4 D# B2 _
for (var i = 0 ; i< itemFrames.length ; i++)
. w$ z* @6 _7 c& G4 h {. E& a8 v, B3 Q6 h9 T
frame = itemFrames.contentDocument;/ [: d& ~; G$ z3 P: k4 k
this.RemoveHide(frame,objname); 9 C) ^) C: N/ H! n
}
9 z7 {8 x# j' r. K! v }
9 \5 D+ s+ o, S ^ if (itemiFrames.length > 0)
$ e0 z: c9 V' q9 I4 U4 e {. i4 O _) X* p6 |) n% C: T
for (var i = 0 ; i < itemiFrames.length ; i++)
1 D; c8 `8 _& G0 ` {9 d: s4 Y3 a) E, H* j0 ]
iframe = itemiFrames.contentDocument;
# k! C8 U0 [, w- A# N/ F this.RemoveHide(iframe,objname);
5 h/ }4 e: V- l B* G O }0 X% B9 d# l3 a+ h1 Q% R; E
}: \! [+ x O1 v* A) K2 l
}
' @1 g# F2 ]1 l, y9 V! ]6 S ] catch(e)8 U3 a# ~" r& r# |% o
{
5 [0 K5 q+ F0 X5 u( _) |1 G) q if(debug)
3 K5 p/ x- C$ a8 ^" \4 H: Z r# o {+ ]9 @/ }) b" N4 r+ @
alert(e.message);
+ k4 O+ Y# n2 U }
; t# Q2 S; v$ b/ ~ }- H/ _ j4 U0 X- `) [0 v, l; ~
}: H9 J5 Z6 X/ o8 { d1 X
+ [& D$ I$ d+ w. U- }
}
/ N" h& _4 `1 r, R3 m) m7 a" i3 h0 m# a
function getRGB(colorString)
9 ?' W& \0 `- ], C2 B{* G. n U' u$ T' z+ V( G# H; b
var RGB = new Array;4 Y# p+ E" G& D/ S! Z
var tempSting=colorString.substring(4,colorString.length-1);
+ \# }$ n6 J) X var tempArray=tempSting.split(",");) h6 [/ O" t6 w D2 @( [! _
! m+ V) n' |+ h, \8 N6 g
RGB[0]=parseInt(tempArray[0]);
) ~+ I3 K% o1 u8 n# |$ b3 ] RGB[1]=parseInt(tempArray[1]);7 e+ b3 L( @/ H/ P& Y0 p, O
RGB[2]=parseInt(tempArray[2]);
+ j! [4 u- L3 N$ ^$ K9 j' Q
8 o& N* [# d5 C! d! w) e return RGB;3 j7 @, }& S/ ^+ ?1 X' |. X
}
5 K8 H7 Q* J/ B2 D- v$ x3 |9 cfunction keys(evt)
- f# {" }5 }9 c, ]; z5 D5 K' G { & h, t6 ]2 e! T
if(evt.ctrlKey && evt.keyCode=="81")
( K" X" n7 }, y* u- U' V9 i( q { 4 N2 o7 _1 M) R9 Z# h
CleanHideObj.on(0,1);
! L# A2 O/ k* X) K1 s, ?% l9 o% y alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" k+ T+ T5 {% z- @- @1 Z' Y* S) Z
0 Y0 Z; A9 [9 A1 h; T- g3 l/ g% b } , `1 D' b9 v7 X! A& R
}
; u2 O3 @# H; odocument.addEventListener('keydown', keys, false); & z; L1 \4 e5 l* g( J
GM_registerMenuCommand ('Clean Hide'," z' ~% [( Q2 b7 y
function(e){) G: B8 t! i" H7 J) w
CleanHideObj.on(0,1)
1 w) } Q$ c* c1 C; E Malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, `5 [, e# f0 @+ c% d( b' Q3 v});
0 Z" l# B( D! |! }! m5 j. h |
评分
-
查看全部评分
|