|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 P) f8 h3 P7 J8 D' b3 H* b
0 `# h: v; ?0 S$ K, J6 a8 H% S. q J% U火狐插件,用猴子/ v6 H" [. K6 b( [. G( F
/ F ?# a* `& @8 O4 q" Q: b% u
var debug=false; & z) k6 N7 W1 Y2 P# p
var CleanHideObj=new CleanHideClass();* E; P: u1 U3 `. H+ L6 B# r4 H% |
( ?5 e4 k% k# P9 n% Z- Q; Afunction CleanHideClass() : [& d) l# Y2 W7 X
{ " N9 ?/ K6 d" r
* `7 C4 B3 R: Z& W- v& J0 u this.on=function(id,bMZ)
4 k3 m/ y: P4 I6 ~ {
% }' ]/ p) P8 ]/ U+ T; a5 t
$ P5 }1 @3 s0 t1 b1 H if(id == 0): x1 j# \7 N4 t
{/ V; `" V: k N v% P! y' z
var page=/* document.getElementById("content").contentDocument */document; 1 R5 {4 Z, x( {( H; H2 V9 I9 L
this.RemoveHide(page,"span");
$ r0 f: O$ K$ K& [ this.RemoveHide(page,"font");
: e! W! ^& w. p( q this.RemoveHide(page,"div");1 p6 n! ^9 h) ^+ `& z% S
this.RemoveHide(page,"p"); }2 d1 ?. o8 p2 ]! f! C# F0 s; U
1 N- L$ i1 C" A7 ?( M, `& h }, d/ c" p& u8 ]
6 m- z- O+ [: A( u }7 k' p7 n( ~; \ u
this.getobjstyle=function(node,prop)6 s+ h) a* R0 d, p
{) h- m5 O% `; k. \, S; M& q
try
1 D0 j; _% p# K {
8 j# Z. K3 Q$ t- Q* j' c3 O& i return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ u! R3 m5 v% w4 D. b2 l3 c' a7 p* v
}
/ h" j7 L. @. e7 f. f catch(e)
$ Y* f2 ^5 I* ~ u3 O2 F5 u {$ x' _5 I8 o% D" b
if(debug)7 Q2 L! _( d% b! Y4 c8 p0 b; R: F$ x
{! J8 A$ G4 l* }, W3 a
alert(e.message);' f- m- w. A& E& ~
}
6 M: h. s: P( W1 G* K 3 d3 W! w" C( I! @; N) O
return "200";" k; i. I7 Y- ^8 G3 L
}
/ ~3 f" w. F$ n5 n' j } X, h7 {- a# q, E: ~+ \( R
# b! l" H% O1 u6 U) `# {3 z, r this.RemoveHide=function(page,objname)6 E% x" X: T) k
{* P5 _$ X% q: \3 a' k. @" l
try$ E+ u3 T, o9 }' J3 [4 t8 M9 h
{: Y' J) e8 L7 j: ]$ ^. ]8 P2 A
var minValue=15;
6 h% r0 x: s$ O, a: p1 R2 q var objs=page.getElementsByTagName(objname);
# H6 |+ q) G/ `) b- ^6 [1 s' R
# P: W6 O+ g h7 Y. x if(objs.length == 0)
* U# X* S- O8 W5 [3 y3 B& ~ {4 f9 n3 ?0 x0 a- o
if(debug)7 i) U R) }7 z, d& q
{ L: k( S9 I$ {' Q8 Y. L
alert("no object found!:"+objname);3 L# ?. t2 w' K# f) K
}0 {! o1 }# b$ J! v R5 t
}$ d$ A8 _& `8 P, x K# R0 p1 D
else
9 ^' R* L# a# ~' q5 t {! G( [! K+ `( y( F' \
$ Q) p0 C+ d0 Q- F* y" S* o3 { for(var i=objs.length-1;i>=0;i--)
1 t; v* o" [+ _' F* t; G {( c& u2 v- W; P$ Y2 a6 s6 |
var node=objs.item(i); + r; z9 {! M) y9 G# r, k6 P
7 Q. i. h# Z P
+ x/ ]$ ^' v5 l! K7 N3 _0 t
if(this.getobjstyle(node,"display") == "none" ||
* [5 L+ T5 ^8 V: f$ X8 v this.getobjstyle(node,"visibility") =="hidden" ||7 L2 q1 U9 A: V* k3 G* I; n
parseInt(this.getobjstyle(node,"font-size")) == 0)
' r2 ^1 p* W1 B, e' K4 d {( W- q/ ^3 O- N4 j
if(debug), E1 o1 P. Z2 @1 v: l+ Q# X
{
8 N) L" G& C( j3 j* A) h alert("remove invisiable!");
& y$ k% g3 ^! X5 D }9 A! {3 h8 l/ R8 |' Y3 A9 v- ]% n
node.parentNode.removeChild(node);. I3 H, l U9 X2 u8 k
" c* X) }3 _7 @9 c1 ]
}9 f1 C$ X U1 C/ A* Y1 Z: y
else & ^5 ]. _2 u: J' M- C
{. L& x( V n1 [6 z5 d- Z
if(node.parentNode) 8 |" D$ r ?; Y w+ N/ ^: n
{' }; }1 s/ E9 V) {8 Q
var orgNode=node;( z3 x. n( D( H# n, i9 V ^( D
var orgColor=this.getobjstyle(orgNode,"color")& r1 A% ~ p; e
var orgRGB=getRGB(orgColor); : S0 X' A9 T4 q2 o
) P+ O* Q$ V$ o! s7 \$ ~- O5 U var parentNode=node.parentNode* D b) r: v- W
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ L/ V3 o3 u. }& L) t5 V' P: q " z0 u" t% K( S3 y; V% h0 Z. Y
var isLast=false;
2 T% o0 O I+ r: d
% i @1 \( m. V% ]7 f while(parentBgColor == "transparent")
) m' M" `5 u: {3 h+ L) ?9 I {0 f2 @( {" t& ]
* t. }% L, }9 A9 l5 t
_8 x7 j+ h2 J6 p+ T. U! f) X: K1 j
if(parentNode.parentNode == null)# x4 F' C% J$ g: l" t6 w+ t
{
- R1 n# N" _9 r) Z isLast=true;" w" e$ L" `- _4 M+ l5 Y9 |
break;
o1 a. G' s3 Y }2 A9 [; l/ A% d" h# V
parentNode=parentNode.parentNode;
0 ]& }" `2 O# u! o4 i6 k parentBgColor=this.getobjstyle(parentNode,"background-color");% @+ ]3 k+ t \; a+ e2 `$ a
% a2 U, h, j' j/ t: `" o: {
if(parentBgColor != "transparent") 0 R5 J, j6 l7 w
{. f( U6 k, V( ?. T
break;8 f) L2 p- [& D1 I: i1 ^
}; D" |( p7 L; V8 X% a+ w A
}
7 @+ Q& l" D, X0 u* l( G2 _- b if(isLast) # F; j+ n% R- q6 q+ P
{
9 V8 K0 l/ \/ e$ Q- o if(debug)6 |) J9 ~7 G" |' {9 l4 c
{
8 z& G( V: {* Y; f7 t alert("last!!");
1 v2 ^* i! O Z! ^8 {/ Z) r2 |) s/ g& z }- {8 N% T: }! o8 R, `2 C; g3 V2 V" O6 u
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( } d. S( \# `0 i3 \ {& w+ z' O8 \: ^3 ?
orgNode.parentNode.removeChild(orgNode);
' `* Q( |# q7 _# X }
1 x0 I. R* ]7 W9 z+ L! Z }9 v% z# \: e/ L+ b) t' |' U
else
6 K+ L0 I$ \# \& u; w {7 M8 ?6 ~3 Y8 D8 j9 M! ]7 O* w
if(debug)' d6 `3 Q- c# V$ j& b! Q
{
9 K" M. s2 a% m; k( m% @# J2 x alert("compare color and parent bgcolor!");
! r- I- q9 r& a% s) Z% a }, X! T# \7 i1 t6 V
parentBgRGB=getRGB(parentBgColor);- S* c' C) S0 c v( K. m) Y. _
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 x6 |: P7 Q9 t) _0 ^; t+ Q7 k8 e% T/ d/ w {
3 O& o5 Z* Z7 i% Q$ K orgNode.parentNode.removeChild(orgNode);
8 y* r$ X% ~* e7 P" n0 _7 P- m7 L }
/ }( V9 I5 `9 @. } o }
- z5 F! p( Q2 g4 E4 I6 u$ @2 x* W }
6 C, e( C4 j* H n g }) O! [* l. T( C8 b# F2 M w
}; t2 N% i! h0 [+ a7 [" {1 A9 n# o
}3 o B: x: _7 M* M, F
: {: w9 b- T$ A8 \) c! q* r
, W) D0 I" n* J6 K# E. @ var itemFrames = page.getElementsByTagName("frame");
8 j% r3 W S- Y4 ^3 h var itemiFrames = page.getElementsByTagName("iframe");1 m+ g2 y8 A$ c
0 I3 @2 L( C9 b4 p
var frame, iframe;
0 q* u2 F4 ]0 d( Q1 r if (itemFrames.length > 0)
2 h) [* q/ q; A) H1 H8 h {
' ?) `9 M8 S) g# w for (var i = 0 ; i< itemFrames.length ; i++)
3 l; h) s& b3 P( G; T3 D% L {
* a# ]) d7 Z. E% u& t: K; u7 L frame = itemFrames.contentDocument;
4 {' ?/ D) D, [0 m this.RemoveHide(frame,objname);
6 L# Y1 x% F6 v) C }
* }7 y* T2 S8 v; l }
" A' ]% ?$ u" Q# F& Y if (itemiFrames.length > 0)" s3 O9 I% k6 y4 Y1 `- o! ^
{( E1 {# b& P. b% `' ~$ f) I
for (var i = 0 ; i < itemiFrames.length ; i++) 4 ^) K+ h) q+ c) K7 h
{
8 C6 ~# u4 N: ~# W/ d# l iframe = itemiFrames.contentDocument;
4 }9 J9 y8 l( c" [: c" j this.RemoveHide(iframe,objname);
5 i N' o! l9 F# v G+ ^1 | }# w) E3 B1 b, f* x8 B- }0 j! X
}( X: | G) b) a1 d, b4 Q9 x/ S- w3 Y
}
6 B( Z1 W5 g- d7 V6 T! d catch(e)' l4 L$ F; r* M8 r: f
{
& Y$ L6 N; `" p if(debug)' N+ u" [: a" s- f
{ v g3 z' y& {1 P& ] x2 m$ C
alert(e.message);
% U$ E' l' \2 Q- e. Z }+ Y5 Y; } M* {5 z( W, V6 J
}2 ^8 t; J P; s6 ?; @) t% z
}
l$ q1 E% m( c' n" t: g- Y3 @
# D$ W6 `0 k0 c. F}
K( F: y: q) Q- X; b% ^% {8 e: e; j1 W1 b' Q
function getRGB(colorString)
8 J" g& u! i/ C/ }7 B3 T7 A# O{$ J- j$ W8 w& X Q& G7 D+ y/ Y
var RGB = new Array;2 `" E: I( ~. H7 v5 ~# u6 s$ |* c
var tempSting=colorString.substring(4,colorString.length-1);3 a7 }5 S( O t. X+ K3 R& y
var tempArray=tempSting.split(",");
4 b1 |2 w N0 ?0 Z* L* k1 x( M
% [4 j! D w2 v: B% ^+ m! l& V RGB[0]=parseInt(tempArray[0]);# Y( `6 X$ a& Y) D. o2 k/ x6 f
RGB[1]=parseInt(tempArray[1]);% T- ]# u/ u! X! I
RGB[2]=parseInt(tempArray[2]);0 q$ l; w1 K/ @% O' n$ C( F
" m; F; d: b4 H/ j return RGB; C' i# `' B6 G& Y1 S. i# ]
}
+ Q- F" {9 b' u2 g4 Afunction keys(evt) 6 v- }$ F; V9 O- _
{
$ A0 _6 Q5 s, u& ?; B if(evt.ctrlKey && evt.keyCode=="81") 8 e/ T) i8 c! ] M( ]" H8 y, Y, R( `
{
# M. n+ m* h3 d4 B. | CleanHideObj.on(0,1);
% `. j+ f! D l6 c( ]8 o/ q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 G8 w8 W9 \% z* I
2 k0 F9 z1 D6 O } + r: P. N6 C+ D
}
% C6 T8 k3 I- v3 z& F' {# ndocument.addEventListener('keydown', keys, false); 0 h/ X$ B7 j+ K/ }* I) w9 M1 T' W
GM_registerMenuCommand ('Clean Hide',
; a1 n' W1 `5 R) h/ ~ W$ X. ^/ F2 ifunction(e){
; J1 O. q, x0 W5 Q, YCleanHideObj.on(0,1)
2 B: R9 f9 Y( n% T# Oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' }+ m% ]$ M( O/ p2 Y% W5 S6 C S});. c; C9 N x5 k- d# w
|
评分
-
查看全部评分
|