|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # R( d( F2 x$ ?# Q% P
3 W0 l5 K, l- ^( D2 A
火狐插件,用猴子
2 [0 `9 N1 w6 v Q% K3 ^/ d3 h# z. d7 F4 M* z
var debug=false;
( I% O0 l U F0 T+ B evar CleanHideObj=new CleanHideClass();& j7 ]6 Z7 I# v, r1 D
; E" F* a0 L7 C; b
function CleanHideClass()
4 k; ?. w, t+ I E: M* ]{
P2 x7 Y/ m1 I; G l3 I
8 R* v2 @( x; ^- U3 b+ B this.on=function(id,bMZ)! J$ G3 V" s1 t8 G' v9 j$ ~9 j
{8 E* A4 ] u! o6 J9 X) G( e
" K1 c' q o9 M+ l if(id == 0)
7 b' ? l2 b% U6 a0 {$ B {
4 ?0 E( A2 \6 j( _' q4 A" n var page=/* document.getElementById("content").contentDocument */document; . n. x$ B* `5 w( {
this.RemoveHide(page,"span");( k( W$ o5 _! V2 i9 b, t% `
this.RemoveHide(page,"font");
- V- o5 F7 s7 S" j& a* L this.RemoveHide(page,"div");3 r6 {8 J4 P4 _4 C( P& d
this.RemoveHide(page,"p");
: m' B5 e5 P4 G+ V8 C1 K
9 M4 r2 F1 D! _$ r. g- V* | }
; t' F3 m4 P. \: k8 D& R4 ~, e C8 h5 {. V) p* R" i& r, E* v9 A( N: G
}
: s' @: I" X+ ]! Q& }* K# J this.getobjstyle=function(node,prop)
! j6 i3 H% ^9 K X$ ^' } {
$ \) V, H1 u1 ^/ A, v5 a; _; R/ p try
4 G/ D1 R( L5 q, n" z7 l3 O* r7 i0 E {* W* \ l5 ]- o
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 L9 e- X7 M6 u) \ }
s. @8 t7 l& ~6 [3 W) K ^ catch(e)& I7 {" ^! s4 G& X; l; ?
{
% v! w: R. I' b+ ]- Z% D if(debug)
7 A* A1 B; I" m, p* m {; Z2 e, a% U' }1 W! ], P8 H
alert(e.message);
5 Y6 k$ O5 U- ]* t( L9 {4 a3 n6 _ } ^" I- u* E4 d+ U$ ?$ r( f: J
: A% n- M) r' ~, | e v6 f
return "200";% {3 W& R, Y" d& X
}7 K2 [. N+ y0 q# U
}( ?! o+ H: N# \9 }! z! K4 N/ k
9 t+ p" z& z3 K5 |5 x' | this.RemoveHide=function(page,objname)
& K r6 t: P& V4 j) }" d0 t {
1 [, r3 J+ q' ?! ?5 t- q! H try
/ X+ }6 J) L+ F! k( c {
, Z/ s! `1 D" [. T0 m+ j/ e var minValue=15;8 _! J% |* D9 ]# q" B9 s$ O
var objs=page.getElementsByTagName(objname); / h4 w5 t4 z' D. w' Y: F6 e
9 o# O% a4 l. \0 J. y- z
if(objs.length == 0) 8 [" K4 s5 R3 W3 i7 B; S
{
# k+ g1 I" T' E0 o0 ^* v if(debug)* s' g( A$ p6 W% }9 l( c, T0 `4 n1 s3 A
{: b" j, H) ^0 N& {
alert("no object found!:"+objname);! D. B. g& }7 ^+ S% o' w; j
}: ?; j& O5 z& U3 w9 @0 T
}* Q, K! x- v' H
else- b# r l. i. k, ?+ g+ \
{. J. R0 Q: s9 o9 i
* c/ h2 O3 V' U1 O7 |" V for(var i=objs.length-1;i>=0;i--) . A1 w; z8 x- o' q' p2 a' {
{' |# W6 f% h8 p9 z3 s/ P4 s
var node=objs.item(i);
/ h0 ]: P$ }/ D8 L . p) }. z- {) t) x; K) e; I( m
2 ?8 K1 a+ V) Y% V) n5 d
if(this.getobjstyle(node,"display") == "none" ||3 C! J& e& V. ^" Z" }
this.getobjstyle(node,"visibility") =="hidden" ||$ q8 [8 Z0 p3 |( { ?
parseInt(this.getobjstyle(node,"font-size")) == 0)
4 T- E' P4 A3 X% l. ` {
7 x% S1 B. U9 e* a: p if(debug)
, B, {7 u6 `6 W- B9 N: m* ~9 M {
0 U' I g4 J- A' n alert("remove invisiable!");
' a" Z! c) K1 r8 i; o }# a4 G+ T i0 g% V) }* q
node.parentNode.removeChild(node);
( J% j4 c+ a$ A% J& l/ b. W ) W. U/ p' d4 n( _/ [
}7 w7 R- j9 ~( G8 W
else . o' d7 P% R+ ~9 p6 u
{
% r0 h' R4 g2 W# }5 w4 ? [ if(node.parentNode) ( S' D5 C( M) z0 O( p& j1 ?
{
% C' c. ~3 v H( q var orgNode=node;! R' t. Y1 H( S9 V" Q' ]7 S+ T
var orgColor=this.getobjstyle(orgNode,"color")
4 ^3 D8 A" u4 w' G4 A var orgRGB=getRGB(orgColor); " E! e( [$ N/ T% n q3 o! O
5 z3 e) [' y% Y" n7 F+ O$ T. t
var parentNode=node.parentNode+ W0 E' j5 I' b" |
var parentBgColor=this.getobjstyle(parentNode,"background-color");
# C3 V, R3 _( S7 P! p
, P; O7 A# x$ I' G; }& ^ var isLast=false;
* E* A9 j f( n1 j9 {( Y: N 2 P6 ~. w6 T, S/ y0 a
while(parentBgColor == "transparent")
9 k; v& Z4 [1 ~8 N0 \) k6 d1 F' B {
; N5 |8 Z# N% v y : P5 A: \; m# Z- v& L& f9 ^
+ B: f/ M% K8 r) a1 K6 w; S' d7 { if(parentNode.parentNode == null)5 p0 j$ _ d& k. O
{
: n( Y# U. B. T isLast=true;9 ]# }& E! N( h6 h6 d0 F; R7 S
break;# C3 @5 f! w! v$ h
}
. o5 Z& v" n" ^1 b( d2 Y parentNode=parentNode.parentNode;
0 b" C' K# s. S. M parentBgColor=this.getobjstyle(parentNode,"background-color");0 {0 I+ m; [) K& o4 @# M$ ?; C$ a
- ? N" z* i/ x7 ~
if(parentBgColor != "transparent")
C" ~. b2 m! ` {
3 d. v7 U9 ~+ ^! J break;6 K" a, L' j5 R8 r0 i0 t
}, |: @/ d3 s& l3 G1 a
}
8 V) z; v, H; q9 \, }6 S if(isLast)
7 @. y! I6 P" F: U {
. S' {. W5 D7 k! H# V; F if(debug); k0 ], O; n: D; u9 q) r+ l0 i
{
1 ^- I3 o% j8 j% f" s alert("last!!");
. u _2 i0 d/ J7 [ }( V2 a9 |, r; C, p' _3 E
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 |! r% I$ r& {! N3 x( U0 a. z {9 C1 q$ M6 T5 y! w
orgNode.parentNode.removeChild(orgNode); ' b; a# p& L/ z, U! o: x$ O: |
}4 \9 j8 P# \; m5 e W' V$ o) a
}
) y, V# n2 |- V else
8 ^5 g' s+ ]9 C8 s {9 i/ T- ]$ H8 Z
if(debug)" S2 q9 o1 Y, }% @: N
{
- }, h. x1 L8 T" T5 u/ R alert("compare color and parent bgcolor!");
- O) q4 m3 N1 H8 q% v' T }8 }, r0 \' j/ K3 o; ]1 p1 H$ T
parentBgRGB=getRGB(parentBgColor); d0 {: W% _/ w
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 C# q3 M8 h- L6 ?
{2 G+ ?# F4 Y* R, c: q
orgNode.parentNode.removeChild(orgNode); ' |. l; H$ j V: L2 v1 z
}! R* X* Q( n# s; h# m) B x v+ x/ C
}2 g' A7 p7 I+ I, S2 U5 V
}
0 W9 E6 o" M/ L7 m6 O% E: B }
3 J$ k D/ ?( F5 J: ] }
4 w) S- q) L# B }3 ^2 c) o5 C( Q' m0 {
: Q9 r* ~) F3 ~ z8 W
# z8 X5 R; X% w, w2 I var itemFrames = page.getElementsByTagName("frame");
4 {# Q T2 B( }) A9 g3 z* z0 J8 @ var itemiFrames = page.getElementsByTagName("iframe");9 G; K! _- F9 p+ i9 a9 E: E$ j
: p! u8 i8 F5 P* f y; Y! s var frame, iframe;) [. {9 c" }, m
if (itemFrames.length > 0)
5 w2 _& z6 o* p( z3 Q* _$ c {
1 S# A4 p ^0 ^* {* B for (var i = 0 ; i< itemFrames.length ; i++)
2 F* Y% Z! |5 B& h# U5 z {2 M3 u" Y4 ?/ p/ n
frame = itemFrames.contentDocument;. L$ O7 S' L/ r$ _" K$ G
this.RemoveHide(frame,objname);
5 X2 v7 g6 o: [0 c* w/ K }
: a7 y: T; x* v" c8 C }! E4 q# C5 T+ g" S/ N
if (itemiFrames.length > 0)9 o0 p P1 H9 p- b6 d
{
2 i$ u0 y' [2 y( E for (var i = 0 ; i < itemiFrames.length ; i++)
6 \' Q* @! g) q9 A {
8 r7 y6 w+ \: s8 [0 W$ U' H7 n* U iframe = itemiFrames.contentDocument;( l" e2 [1 F/ ]4 w( M* W! U! {
this.RemoveHide(iframe,objname);
2 l* q% m3 \( k9 A4 A, { }$ z+ O8 ]& c6 E0 T2 S8 b4 E7 G
}. v' L1 O0 M. U- s0 e, K
}
! l& Y5 E* C, T% m" ]. H" d8 G catch(e)( \1 @8 x Q9 g" S# l8 \
{/ s, M9 H. ]. o, Y
if(debug)' i# c- f. X$ A( l3 x
{
. Y" t4 ?3 m+ d) P) Z alert(e.message);
- Z, X Y5 M: C' f) T' V% D7 a4 W: m! j }: m" g; t# a3 C, j% g
}2 O$ G' T1 ?; Y9 t0 c" |8 x
}
% D. g- D) B9 n7 F
4 U4 _7 H6 V/ v3 ~}
: w4 j/ x7 @+ x. E
6 `6 N- B1 W( R. `) lfunction getRGB(colorString)' g- b7 `0 Z" Q+ W/ G
{+ M9 d' a1 C4 [1 H
var RGB = new Array;4 y a8 c7 i- U& Y( i9 B$ W7 L
var tempSting=colorString.substring(4,colorString.length-1);) I! p9 l4 K0 X7 R R
var tempArray=tempSting.split(",");- i& n8 i" U5 x: j& h$ i
+ k' f( A0 {& a RGB[0]=parseInt(tempArray[0]);) ]2 c' U: }$ E; h# F: a7 U
RGB[1]=parseInt(tempArray[1]);+ p" S: K0 w1 N8 C0 ]) q
RGB[2]=parseInt(tempArray[2]);" X: f" @: a0 G8 `; O; E0 Y) I
3 V7 Q7 n! i7 C2 @( g6 ?& I/ {1 W
return RGB;
3 V' B" B2 z, {# h+ ^9 }- n$ L}
7 n" ~: ]. u1 o1 C6 m/ m$ Rfunction keys(evt) ( @3 F( i, H/ U: E3 P$ n! A6 Z
{ ( C3 r" _' Y( H. j7 C8 c
if(evt.ctrlKey && evt.keyCode=="81")
9 N G. h2 G, t* m { 4 }8 c7 _1 e( d
CleanHideObj.on(0,1);
+ J, i; z y1 q$ {) U8 t* i/ G alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# |9 i+ i! N9 _4 P, O8 j- l5 o
1 E, j( m% `5 A5 M }
( K5 x7 x9 @; Q1 a# q }
9 N: M, D5 T- Z' a$ ~document.addEventListener('keydown', keys, false); % R7 T# X; O3 {$ L' e* d$ r
GM_registerMenuCommand ('Clean Hide',
5 X8 ^% e( ~% V( }6 dfunction(e){
# f# F* ^, W2 _# XCleanHideObj.on(0,1)
; M9 K3 M* R5 a% n% |7 falert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* E5 v4 v, x, s* X8 t) [
});
* t% Z& T7 \& Q! n" O |
评分
-
查看全部评分
|