|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: B; o ?; A9 f: n
) B/ H3 j0 w/ G; d火狐插件,用猴子% Z/ r% i# B! f
@4 Q4 @/ |$ O: g5 C
var debug=false;
! E$ {: _6 n. W1 b$ N" x) h8 e7 jvar CleanHideObj=new CleanHideClass();
6 h6 ^2 n& e( L& u- P5 Y, M
8 b' \- n" e" [: D% s9 Tfunction CleanHideClass()
6 d$ r* F7 ]1 \{ 8 z1 E, ?5 Y/ W7 r
1 @7 G4 B5 z9 s' L2 G this.on=function(id,bMZ)% M" L5 o; t( ]1 M4 h, e$ C6 {9 L
{) T; M4 i, C S8 a
5 T9 ^4 v& |& p1 F if(id == 0)
9 n) j8 ]" I4 ?0 P% \ {1 w* [1 I i0 J6 O! K1 d5 ?# N
var page=/* document.getElementById("content").contentDocument */document; 7 u) m; H5 F, j. }' b9 a
this.RemoveHide(page,"span");
* Q2 y: ?5 x% U6 E& B: b this.RemoveHide(page,"font");
2 f1 U) k; i4 j4 Z0 D* ` M this.RemoveHide(page,"div");
2 w6 ?6 _1 F( ?/ \# M2 H0 w5 j this.RemoveHide(page,"p");6 o$ ]! k( f9 @& e
! R/ P1 g, T! R# S3 E% r( R3 }
}
/ V8 o. l% P5 i8 v: H, }7 K , x/ d3 Q8 [0 [% @/ k6 _5 \
}8 F" k; [8 p v5 I6 W
this.getobjstyle=function(node,prop)' }& L! a2 `9 I9 O9 }" N; L# D
{
, B1 W! s( J3 `7 Z. ] try& H6 C+ X- F; V
{# x8 c2 L# L' V8 r }! B; A
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 M% w2 H3 a& Y% T$ i
} ~& y( l0 F5 e' Q
catch(e)$ \& `! Q7 ^9 o/ N4 k$ n+ Z2 \6 T8 s
{
, K* P* q3 Z' `: W' k if(debug)
6 [/ p% [9 j( r0 r% H+ X# E {
) A5 J/ w6 k* `0 A9 ? alert(e.message);
, l5 k3 }; K6 J/ p( u+ D% U' _ }' B b6 i1 h$ h2 d
) ]; i1 R9 N4 B+ F+ Y; ^( `& R
return "200";
9 r4 L' ]3 j* t+ \7 \) E E. L# P }3 B& Z8 |7 P0 P6 P
}
# c$ |; t, ?; i$ R 5 c, ]" C/ t* W
this.RemoveHide=function(page,objname)
% ?: d `, a) e1 s {
, Z. l6 B/ ]3 [& r5 w try' `+ l. {2 g; ?6 b' s
{
: y5 m' b8 Y M5 m- N var minValue=15;, E# ?) t X, _; q( l% {" n
var objs=page.getElementsByTagName(objname);
0 j) [; C4 a- B2 p% p
% d$ z% O, w& L if(objs.length == 0) * n8 A# i* N) O, A( v
{
& }. l, Y1 U- b if(debug), c F" `& j B) h
{
1 n" Q6 h i, V: i alert("no object found!:"+objname);! `& U# L6 j4 R: R
}
$ G' ?8 V) y& `. K+ m }
' o$ M8 l8 d8 W% r6 @ else3 \6 Y7 b7 a; e5 k
{
+ g, V( { X3 t4 Y% u. M3 h + c: U$ z. G- k! o8 G
for(var i=objs.length-1;i>=0;i--)
3 f9 }* I. D4 n8 M {( H, c O! m- P7 g) z
var node=objs.item(i);
+ b0 Q; ]) ]: o: [3 X1 {7 l9 n
9 ]: s5 a6 J$ e- H
2 D+ n; o" d& w: b* P( P if(this.getobjstyle(node,"display") == "none" ||; d( v, c1 B( `! [4 f
this.getobjstyle(node,"visibility") =="hidden" ||0 N+ h P3 X( g$ ?! ]( O4 e- ?
parseInt(this.getobjstyle(node,"font-size")) == 0) 9 O) J" L3 \) b: {: a
{3 ~7 ?6 g) W& L( Q$ @
if(debug)+ I; H) p, h; ~1 d% X# _
{
; X/ }9 z- x) N+ Y6 I alert("remove invisiable!");& t7 W: z) p9 N8 g3 R
}8 v6 z8 U+ X( A
node.parentNode.removeChild(node);
7 x M* z- j) `* r9 S' j ! Y6 Z5 k! l% S2 {
}
! S2 K& K+ n# E/ W* ~, g G else 7 ~& |( Z, }5 |5 h+ g7 P
{4 a' Q- [& W* z; I0 o {
if(node.parentNode) . E Q- _& p1 d
{
# @) Y9 }) a% \/ V, e& r var orgNode=node;0 W& m& G% B8 V- K% Z5 V- A
var orgColor=this.getobjstyle(orgNode,"color")! l5 T9 |/ w4 P. ~8 N8 g [
var orgRGB=getRGB(orgColor); 4 U- C1 L6 W# Q' A5 y+ d
9 j7 d) a$ b! u var parentNode=node.parentNode
' q% W2 k) g% r" e. P$ G3 N var parentBgColor=this.getobjstyle(parentNode,"background-color");
, D" f. \$ [1 i5 x" a0 J/ [! b3 Q
g$ H# p* m& k var isLast=false;
3 o c. h' V/ ?% ` ' H, P" r& Q- w* B9 e
while(parentBgColor == "transparent") * C( G2 E" M) \8 ]5 l8 @
{7 @. E7 Z$ n2 Y4 \, d" g
9 J1 U3 V$ ]. ?
- p6 ^& @6 Y5 V0 D$ _ if(parentNode.parentNode == null)# P* S& q$ P1 i! ^; W" e
{
, A6 {. r# ~, j: z) m9 ~ isLast=true;. w4 b' B6 z+ n3 [) m; }
break;
9 ?5 l3 V9 ]4 x% ^( a% l( M6 y) S: t }
: s4 v' \& v; a- S# g parentNode=parentNode.parentNode;
9 m5 n: P. X# d1 B y! A parentBgColor=this.getobjstyle(parentNode,"background-color");
: r# m" r' z+ S% g' M6 F% {7 K5 X6 M# G; W$ g. n
if(parentBgColor != "transparent")
8 Q* k/ p! D7 V4 P {
* e+ N N2 [1 E( D0 I ] break;
- T6 A$ Y& e* q9 `$ m0 x }
$ [/ x" c8 E$ z5 c( Y- O }
2 _% W2 o$ p8 c5 N3 { if(isLast)
6 R2 k0 \. f5 ^( m {1 I. `& U4 s6 X+ Q" d
if(debug)6 @ f2 N% n( F4 b4 a4 j; t
{% c* d/ ~! R6 N! E
alert("last!!");
4 P) G. [9 U, T* m4 S& _ }- v; m( _4 } E$ m/ H
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 @3 d9 t, E, t/ D {
4 C. R/ x9 b* y. k1 O; b orgNode.parentNode.removeChild(orgNode); ( {6 j1 _1 N# J( P( w
}
" e2 P, T! U0 ? }
7 C* u4 i' k5 \# I3 D U$ ]4 K else6 {" t" a; |2 q; j# v s. Y3 @; m
{4 p4 j% C4 W4 q+ D9 d
if(debug) t) E) K: O1 \. U4 T& w
{- i& L0 p% I9 v$ @- p8 E/ q/ E
alert("compare color and parent bgcolor!");* j. a; w& V6 m& \+ r- j
}
, u1 ^0 Y# k2 g1 e1 P( M parentBgRGB=getRGB(parentBgColor);, g3 A) B2 _5 F W7 B
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)). R4 Z1 o+ \) ]$ w3 v5 X& b2 n, w
{
7 u; [% [/ m; s$ N orgNode.parentNode.removeChild(orgNode);
5 l d/ h5 E/ N/ s7 c! r }
' E/ S/ \ c% T! I) a8 Z: k }
- y S. ]& k+ a1 s, X8 R }
% q8 m! k3 h! j }
8 z y) y! R6 ?- h! g7 h }
& w" [5 z+ g3 l/ S! o }
3 C+ o4 M' T, w0 K2 Q, E. n " C7 t6 r9 V* B( n' _" M' r/ d
. c$ e/ `# f) ~9 j% ~: r var itemFrames = page.getElementsByTagName("frame");* }' }8 Y! e$ g
var itemiFrames = page.getElementsByTagName("iframe");
3 I' z9 a. ^/ a" X, G3 B
. U+ o' B( D( K/ k3 B& k" N var frame, iframe;3 | k0 p( i+ L7 j
if (itemFrames.length > 0), F& a# E! O+ C u
{
# e' b9 G( P& s6 } for (var i = 0 ; i< itemFrames.length ; i++)
% n" i8 @( i l: p" a {
/ v9 f$ f7 B9 K3 s! d frame = itemFrames.contentDocument;
1 [5 T3 P7 R: _! X this.RemoveHide(frame,objname); % C6 _1 H6 `* ^" m; T: K
}
8 U/ _8 n( i! I: X: L# F T }' r# P7 ]0 i9 C" H9 v' ?
if (itemiFrames.length > 0)
( y( t/ v g5 o! z- {$ \& y$ Q {) ?6 O, T- C4 V: F2 M A
for (var i = 0 ; i < itemiFrames.length ; i++)
: ^( r# U4 J8 G: o' ^: \1 E {3 ]$ C; a9 l) j' ~. u
iframe = itemiFrames.contentDocument;
9 }3 S; D* Q0 o* X1 R this.RemoveHide(iframe,objname); 6 g3 R1 y1 d/ x0 l
} G4 l. c6 ?: }. y
}
/ Q: B9 m) T; V& U) [' z2 S& O" x) C0 P8 P }4 x' E! H9 }% U9 U# R# f
catch(e)
/ u2 {) L; e% H; h0 J& e3 S0 y {/ `: m7 o2 }6 S- H" w9 m
if(debug)
; r3 Z4 i' }/ f$ O {( U' o; r" i2 \7 O1 z2 ]
alert(e.message);7 ?: D7 X& |; W* [4 U# q
}; b+ A: l6 \7 z4 J5 I7 ^
}9 h7 K: S$ e; e5 E% n9 F3 e
}& _+ D/ k2 A j. V+ g" }9 M& b
; v7 T% U. J$ f& x; w
}0 p0 B( {' M6 ^' A6 _
8 L7 {8 M+ f; {3 c" j: l" B$ m" L
function getRGB(colorString)0 z6 ^2 E/ h; W- O
{
$ r) a g# n% h var RGB = new Array;
# z& }. C4 b9 [- ^ F! l0 W) t# v var tempSting=colorString.substring(4,colorString.length-1);. k8 j' v# ~: S8 x0 v7 H- ?3 _4 r
var tempArray=tempSting.split(",");
# k$ O, s4 Y2 z. @) n$ C% Q4 u% \- k+ b
RGB[0]=parseInt(tempArray[0]);* e0 l+ v4 x0 o' W3 I N ?
RGB[1]=parseInt(tempArray[1]);
& P7 ]' c+ ]0 l( V3 C5 v RGB[2]=parseInt(tempArray[2]);
0 s- U& [ w3 n 9 [5 i0 w% ?3 @( ]' D, k5 w
return RGB;# o* ?3 a7 \9 {8 L' Q4 g
}
7 b( t* J# B* k9 Efunction keys(evt)
' l/ b5 a& I! N2 ~" [ {
* w% B& w" @' c* P- A. w if(evt.ctrlKey && evt.keyCode=="81") - U& K# x2 l- t' x
{
& v, O N, M" e CleanHideObj.on(0,1);
3 E/ t/ ~% E# J5 E' v alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 }4 q$ W9 ^; r s" E$ n& }7 P( D 8 `/ A/ q/ \' c
}
, k% |/ M: ]( q1 k3 A } 3 q+ W$ G( k. I& [3 h) I, \. ]
document.addEventListener('keydown', keys, false); / }4 o7 U7 Q. i# ]; n
GM_registerMenuCommand ('Clean Hide',
2 W% ]# R6 b/ mfunction(e){
9 i0 E. f6 s* r+ wCleanHideObj.on(0,1)/ r; L0 q* R) @7 a8 l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: `0 s9 j" z/ A});
+ C) ^% J5 h' N, B |
评分
-
查看全部评分
|