|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 D' P" E) ?- p9 G: p' j7 U0 h' E7 c5 m/ t6 f* k4 d! N" h
火狐插件,用猴子
" \# c0 j. D7 ~$ ]) p
0 H# D: C2 F4 N6 Gvar debug=false; @& B- R7 b) W. s6 @; k/ V8 B
var CleanHideObj=new CleanHideClass();
: J( q" F2 K5 i& s* k1 u+ ^1 j" M9 `
function CleanHideClass() " E) `- N- \+ C/ {
{
* E* R* ?/ J, o$ h
* J% \8 N& K; H* J this.on=function(id,bMZ)% D! I! f6 c% P
{
" k# [$ H; `- C' k+ D9 b
/ L8 J, W3 i/ k) \) B0 e6 P( Z if(id == 0)
' P0 N1 i' p' m7 | {7 q- {; A O% N6 E1 ^
var page=/* document.getElementById("content").contentDocument */document;
5 Y: D9 ] Z+ F/ K' b1 V; A# i, R this.RemoveHide(page,"span"); J. ]; x( p; B
this.RemoveHide(page,"font");
, r1 Q! h8 T) J" W- X% K& m2 ] this.RemoveHide(page,"div");" b. ]8 Y; _" y% k) u. h# @; ?' A
this.RemoveHide(page,"p");2 o9 J+ n% E& _8 Z/ K
! n; j' Q* T6 k9 X+ H- i } H- Y5 V0 s4 s) R+ V( A
, W @- `. L' ]$ ]* {/ J; p6 J }, ~. F3 v2 I. ~/ o% u' ~ g
this.getobjstyle=function(node,prop)# S- O# @3 v9 d) U M8 ~0 m8 y2 l8 o
{
1 d, C2 X& e( ^- z try0 g- b8 k+ e1 w3 `8 q5 y1 K
{8 x3 Y. r0 g$ @9 v e2 o1 z4 b
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 |4 _( `: K5 r- j; W g }
0 B7 x7 p/ r/ T5 e; Y catch(e)$ V0 ]5 y/ L0 ~1 @: N8 c7 z* R4 C2 W
{
% `/ q) X+ |+ l2 e7 o! _ if(debug)
. `# F7 D. C S/ T+ a {. X% E& _" `* Z( V
alert(e.message);
# K' H2 X# I7 P }- F2 m4 q) z- c3 v4 @
9 }3 [3 X5 M; e& l2 i' X
return "200";
( E% g* e) e! _1 s3 S( p8 l3 i }% k4 _( ~. n, m% X
}9 g6 @; K% {5 n, b1 C3 F
2 F0 a4 |1 D: }) ~% f this.RemoveHide=function(page,objname)) ]4 S9 C0 _; g7 o, e `3 d
{+ k& w$ \+ a6 w7 `
try& t g9 v1 S: B5 E
{, c @5 e; e- v' E( r
var minValue=15;
" q# B+ g, i1 }$ j/ g var objs=page.getElementsByTagName(objname); * R& p, O9 G3 z
0 Q5 V$ H! U l! B" v if(objs.length == 0)
$ O% p+ J' k* K {# i" X# O) K; e! R3 t m) e
if(debug)$ O& V# Y' Z# H( Y
{
5 X6 i3 J& k3 H2 X5 `3 @ alert("no object found!:"+objname);
0 I- x- P& {! o4 d/ ^. W |: P }5 l$ Q9 z9 E6 O4 ]
}4 P5 K) E9 D0 f+ I) M: t: N/ f
else" @/ w( [/ e5 Y$ i e4 ^2 V
{
; c) L% {4 q$ ~, [
8 j/ \& M& f6 @7 } for(var i=objs.length-1;i>=0;i--)
& H% l/ I2 R2 Z2 }# N4 p8 o {% o1 N5 `3 H7 R
var node=objs.item(i);
1 N* n" r9 o- f9 \! I0 _' _
+ K( G! G5 V7 f% y5 K* j e" V' f" c0 |1 B
if(this.getobjstyle(node,"display") == "none" ||1 N$ X" \( r6 Z9 F! Q+ e
this.getobjstyle(node,"visibility") =="hidden" ||: T# d/ J% a% ?! q3 U% e: x
parseInt(this.getobjstyle(node,"font-size")) == 0) 7 Z) u& ?. o# m9 B
{! X P: t. i; I; D
if(debug)+ T/ E5 O) B+ ]* v! Q
{
$ d3 o$ S- e8 `9 M0 m5 f$ E alert("remove invisiable!");( x+ [) z j7 a
}
6 V# I, n2 j! I. r) Z node.parentNode.removeChild(node);
: g T. ?7 {4 R! P7 C( D
0 z7 p( X& v2 m }
, g- Z! H, a5 C* M) u else
* M" `* V. W d+ ? e2 m( v {
, |4 q% H9 q% D* n if(node.parentNode)
8 C, q8 b" E7 @/ J' p, v {
. _& x7 M& C8 j3 s. K1 ?4 Q+ m var orgNode=node;
2 u/ ?( x* A. i! @% V% C" P' c var orgColor=this.getobjstyle(orgNode,"color")
- r& t* l' `4 y$ X2 d, t# g var orgRGB=getRGB(orgColor);
$ q2 `8 W3 j' l R7 k 1 d+ u- k; a( h& s
var parentNode=node.parentNode
+ {9 i/ q, ]$ e* }2 ~8 j6 a: } var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 P. e9 @/ Y ^, C1 R+ H% L2 `& y# e
; f8 F4 K5 V8 G* W% B var isLast=false;+ }5 q# v. ?8 ^4 X+ @
* a0 B. l9 r3 e* O# F& w while(parentBgColor == "transparent")
* `/ `/ y$ _ ~2 t! ]! i7 M$ d' s3 B {+ V4 s* [% [ ^- K6 L7 F
) J' z0 T& J! y5 d( g: q
y5 C0 P0 y1 L if(parentNode.parentNode == null)1 }( @! a, X- p- q
{/ l( O. ~# b: Q# X c4 S
isLast=true;& ]# n/ f+ t+ M8 C( v
break;
' t1 W2 \ b2 Z }
7 g" `! a8 B( V" G# [7 q7 I parentNode=parentNode.parentNode;
7 d0 Q9 W/ n! {1 N parentBgColor=this.getobjstyle(parentNode,"background-color");
1 m2 Y/ D L" W. b/ @
. y# D& H2 Z6 [8 _9 L6 ~: M if(parentBgColor != "transparent")
& Z9 \3 n/ Q+ M% v {
$ V1 c- n# E& M) g* i4 `+ J break;
2 i1 z: e* B# o2 X3 y }
! ^0 F1 W& w2 J. A$ z# P }& y9 V; Z" p7 w6 w, u. O
if(isLast)
; r7 j9 J- C3 l9 O0 l {% M% `. N P. Z! e7 ~- ?- h
if(debug)" a. k# `8 z9 _9 |* S
{
# j- G- ^: W- K$ ~3 t alert("last!!");
' E, T. ?! d% o. y }$ a6 g% b+ d; C ^. B6 V9 y1 C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. V8 B- a s) Y: y! z: Y @ {
# X) }& ]3 s8 ]0 m. f. U7 ]9 L orgNode.parentNode.removeChild(orgNode);
$ H6 H0 C* D1 E7 E1 c3 g, C: u( i }
$ m; f2 D1 S( Z( t9 Z+ t }
& S: M7 Q- L3 p/ `* b0 A6 H3 O else
1 C) d+ C! d$ y* { {1 m- `. |6 ~8 j6 T; ^
if(debug)( W$ c, ^: h K* H3 E: L( ]
{! `4 L$ C7 T( H4 y
alert("compare color and parent bgcolor!");
8 x! H4 G7 D2 _ }
9 z/ n5 V* h6 S5 G% }, y% g3 L parentBgRGB=getRGB(parentBgColor);! a. {5 Y- g! N0 K& A0 `/ R
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 B' v$ i5 v: B3 c) u" X# w
{
" Y2 E! F2 S Q: j' f: g orgNode.parentNode.removeChild(orgNode);
[$ ~0 \/ Z; i& ^: ? } |8 F+ p" A* j- g/ I* R1 L6 G7 q
}. i' c8 J) h5 ]# c% T0 w
}
/ T2 L6 Z* R# V% S/ N. _ }
! g2 y" `. O, O V& E }
( W0 g F9 y, ` }3 |/ `- g8 X- N* }! ^
2 H9 i# \4 ^: l
' o' n. U3 D% ]# r' @5 [ var itemFrames = page.getElementsByTagName("frame");: K9 O$ m4 R: Q
var itemiFrames = page.getElementsByTagName("iframe");1 Z# E4 g0 [% N F- a% A7 O# P
! X" [) g; s. v | var frame, iframe;
! a' u+ G5 M4 |; }$ q3 ^* M if (itemFrames.length > 0)
* E5 Z W1 W, g0 [% Q, c" u {
' w! p- I3 D |, @: w for (var i = 0 ; i< itemFrames.length ; i++) H% q2 `4 X9 F7 ]% `* A
{; Z# O3 W& e$ H1 V. Q& D2 g6 t: z
frame = itemFrames.contentDocument;
3 a2 C/ X4 K1 u- ^* b/ H this.RemoveHide(frame,objname);
- y" ~3 T1 |7 [- S2 P; G: T }
+ u# e' q9 ]! J } n7 X9 B/ ]2 n- X! `- G
if (itemiFrames.length > 0)
% B, }) F, s0 |. c7 {& l {
9 I# d2 b% m2 ` for (var i = 0 ; i < itemiFrames.length ; i++) ( E0 Y" y, N0 D/ v
{
. C2 Q6 V5 d- A; r iframe = itemiFrames.contentDocument;
) I3 ~. W! b" i- t* Y this.RemoveHide(iframe,objname); - t1 I; J: C- V% S$ D/ e
}
6 y( h( e7 t- i }
/ g. z p1 [5 K9 z5 z: I }
?# y& E) M. j( J catch(e)3 h. ]1 [* K* R1 Z+ V
{
) N! g2 r/ J% y: J2 x5 [' \ if(debug)
8 R$ E5 n7 p/ l+ ] {- x# J! x8 y W2 u" w* @
alert(e.message);
. b9 W- C% D+ h8 Q1 S }
" T8 S* h. S" F2 w8 n' z3 |' Y }2 r# f2 \# u4 g
}( l" m/ G: J: R9 X8 n
( }6 d4 f! V4 E}
" m- b$ F: e2 U7 Q6 R0 ^3 I& Y- N4 t9 i( ^7 W% [
function getRGB(colorString)1 W+ C* q2 c- l8 M8 K
{" _0 o c- Y1 \
var RGB = new Array;0 A/ [4 T' t1 o$ e
var tempSting=colorString.substring(4,colorString.length-1);
7 Y$ i8 a5 X' s- i8 k var tempArray=tempSting.split(",");1 G7 b4 @9 B1 N: F: r8 N7 c. c" I
* Q* ]4 T- u( `
RGB[0]=parseInt(tempArray[0]);
+ h5 |1 n1 e8 \( d RGB[1]=parseInt(tempArray[1]);$ H$ F8 _% x# e2 M
RGB[2]=parseInt(tempArray[2]);- y3 U4 W1 s7 f: k3 F$ ^
! j( U$ D, H' e2 y) S/ X |2 ?% `8 F return RGB; O6 @+ I1 }" Z; ~. Q, K! Z
}) m* `. |0 }7 h9 j
function keys(evt) % Q6 r1 m& l$ P. ~2 R e$ K
{ ; @( d% U# \; D, m7 M( k4 Q2 t4 }+ _
if(evt.ctrlKey && evt.keyCode=="81") & V8 Z' [: o) c' Q8 |/ V
{ $ l& F: y1 o) W' g# g Z& N$ A! {
CleanHideObj.on(0,1);7 W1 Q- v' K; A) K; {$ {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 f* L* R7 {9 Y$ K: v7 q 5 x$ F$ b/ R" [' Z
} * M Q" o& y! m9 u& G4 `0 @! X
} % g$ X. q0 x' m P
document.addEventListener('keydown', keys, false); ; @3 v( W( W, S: t' Y8 W; O
GM_registerMenuCommand ('Clean Hide',
" z, o3 A$ [/ k" _3 afunction(e){' d$ a$ V4 @) g& S& A Z
CleanHideObj.on(0,1)4 {% }; P1 B& J e8 _) F! i: ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 j1 s: X- o% B' \});
' D+ g9 H& M( F6 M( P% T7 Y |
评分
-
查看全部评分
|