|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 y! y# \$ u7 S4 h g; l5 E$ e
( ^/ Z0 U4 T/ u
火狐插件,用猴子( o' \" Q; z# X# ~/ K. r
/ C4 A6 l2 P6 w5 i1 O" L9 G
var debug=false;
\! V7 ~+ `5 F" ]# C# ~+ Qvar CleanHideObj=new CleanHideClass();1 y5 D" f% g! N, H1 o0 {7 }% @7 v7 M
' A4 O4 }3 H2 J" }3 ffunction CleanHideClass()
& ~4 \3 p$ C) z6 U0 ^; i9 R+ q{ 2 f8 y6 C6 e+ L
5 s( Y9 o0 {( S, {1 h+ Y( [- p
this.on=function(id,bMZ)& ~9 |: M* {/ C/ t( C4 U
{3 P% m- x' \, R0 \- p3 v$ C) M9 R
$ i3 J( T. z6 m/ A8 I if(id == 0)
: S7 T, `) R, o# N1 E, N4 I {
( c* u0 h% x( A) Y var page=/* document.getElementById("content").contentDocument */document; " W1 F' x; N& H- |+ l' Q( j
this.RemoveHide(page,"span"); K: y6 i8 b& w3 L' @( c" r
this.RemoveHide(page,"font");6 H' v# m* o& Q; b
this.RemoveHide(page,"div");
% M4 W" `7 }+ y4 E* z: A2 y this.RemoveHide(page,"p");, C8 \, w# F3 F1 L+ [
* p0 D* W1 ]+ o3 \" ?
}
8 ~; n: J- Y* O
2 J# }4 o5 P0 R/ n) u9 D9 c }
6 u4 e# L4 r/ U6 x8 e this.getobjstyle=function(node,prop)6 N! }* A/ Q5 v% A7 ?
{1 J: j8 ?& q! }: o. Z8 F% L
try
( @5 c& G" D6 L: k# v8 S7 W {/ Z# W. z: n( f
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, O" B2 A* f) b/ N! c/ K' x
}
. ~- }- i$ K6 S* a catch(e)( \! a8 z( v( z; g4 G' x+ Y
{& C+ G A z) a5 F3 k9 z1 x
if(debug)% b+ K3 ^6 T& w( i. }; U' V6 {( x& Q
{
4 A9 }: q0 ~/ I( Y6 Q alert(e.message);) [6 K. ^* e' E2 A5 [
}
" O7 U0 H# K: h" E
: L2 x: h) X0 m& t3 Y return "200";& t, E) L1 r( ]' `
}# B' j; N0 V0 u: t _: d
}
: U& c( K; F Z+ K6 s
- i2 u+ A: u( M) N" b this.RemoveHide=function(page,objname). j" V" [# [) o5 [
{
' {- ^9 x8 v' t: }; v try
% @: A* y8 C5 p {7 e# |1 O3 {4 o/ g' n$ t5 m
var minValue=15;
# _) x4 W# o- @9 |% v I var objs=page.getElementsByTagName(objname); ! h4 \ W# y, I, a! u4 |
3 i9 G0 V6 P' O: L5 X% T if(objs.length == 0)
- H, e+ ]3 r( L: N2 G9 b% a$ F {
* |4 C( t& @# b. ^1 b9 I4 @ if(debug)
$ B( ]( @# h% x0 S! S+ d# T- Y {/ h8 k: h. Z4 U# F" V' b
alert("no object found!:"+objname);
4 Y/ ]: H' Q3 v# d% P; [ }8 X4 c \* z7 c* W
}! o7 ?& U' `: D( |8 R
else) m/ F& e Y/ N2 U9 M
{, o I% d9 u* X$ K+ @: O; L
, ]( [8 J7 i5 y& Y
for(var i=objs.length-1;i>=0;i--) 6 H, b8 R" m9 a: R+ G% X
{5 O3 f, p( f' D
var node=objs.item(i);
# F, V; J" e% A5 R1 M% b
5 _4 ^" L# ^) X0 t- e0 j - o( R/ Y# Q! p5 U4 W7 H
if(this.getobjstyle(node,"display") == "none" ||
) t9 {# ?% P* x5 V* o( A t3 ` this.getobjstyle(node,"visibility") =="hidden" ||& Y* g( O4 T" N. {) v9 B3 s E* q1 r
parseInt(this.getobjstyle(node,"font-size")) == 0) , A3 {0 e% G. s" v" b! m
{' M/ H( s7 M5 M7 K
if(debug)4 K" f1 B1 R) @ T
{
: t$ _0 h- e" i) C( l alert("remove invisiable!");! B* O! h, ^% V3 \/ c( `
}
* T9 s, _: E# u node.parentNode.removeChild(node);! |9 X+ M& h8 C1 D8 S4 B1 Z! T# t
5 n; D; e6 w1 q+ g* H; {
}
+ @& x, ~7 {2 n5 ` else
& b/ t+ ^, ?9 N/ P" W4 N* c {& a; g0 o8 V3 ]- n5 r& @9 N
if(node.parentNode) 0 K* Z: G' b$ h0 c! S
{
/ _5 [; N. }& u4 F& @ Q/ n var orgNode=node;/ Y% n; F5 C! R1 D" P" Q
var orgColor=this.getobjstyle(orgNode,"color")
4 i3 z" z/ y+ v var orgRGB=getRGB(orgColor); , v+ E& G% Q5 {- t8 }* |4 x% Z$ Z. N8 A
9 }/ X" b5 f" ~. `7 O var parentNode=node.parentNode
: }4 F! U/ B# O var parentBgColor=this.getobjstyle(parentNode,"background-color");0 ^9 D' `2 u. Y' d/ g
8 s' ~1 C9 W6 b1 C. l
var isLast=false;# V/ h8 k0 b" h! j
1 E: H0 m/ {2 x; k) t. u4 v
while(parentBgColor == "transparent") # t8 T m9 t& ]8 q$ T1 m/ ^# Q
{/ D7 F& G9 R+ l: s+ Z! p4 T
4 a) s' C0 O. v( |- e; a9 y
3 ^% N4 R# l2 K% w6 V9 E3 T9 {& @7 j6 p
if(parentNode.parentNode == null)
* }: H7 @, T/ z# D# g T- Y {
1 h- k7 C/ ]6 d6 H8 ^1 l isLast=true;
1 C* ?+ I3 @2 x" m break;4 H, I$ s% D. U
}1 k- V4 Q- p; c
parentNode=parentNode.parentNode;" ?5 v8 W1 B# K
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 ?* [3 A, F. G3 H; ^, J( R+ t. N% C9 m0 L1 \2 J7 }: o
if(parentBgColor != "transparent") 8 i4 u' X. a& H
{
0 a4 A6 D3 Z7 H+ |+ q break;
8 Z3 B: s6 u' f0 M" n } j/ y/ g' l. p
}
6 i0 A" q6 _0 s c0 e if(isLast)
1 n" q5 o( k9 I2 k* l8 Y! h1 J7 D) [- F {8 L. B; @9 v7 m* n5 H1 ^" {* K( y
if(debug)! }9 e" \' y0 T, } k2 o
{; N1 ^+ r% `( o8 y. S
alert("last!!");& c _1 `: h0 _3 l
}3 r) g5 _% L5 U6 p- C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ d1 c; b8 ^0 |- U {+ Q9 k+ Z4 B% T7 U$ ^
orgNode.parentNode.removeChild(orgNode);
# K" H7 E1 W& b3 n# b. J; }4 E }7 b# \9 x9 n, ^
}$ ?4 d6 k- L$ x1 {
else
; w% q. R q! [! F7 `9 N* ~ {9 k9 ]# q6 R" O- X: k
if(debug)! {4 e6 C7 H( i& n" L' ~
{4 ~& g7 H" S/ }: R* p* @
alert("compare color and parent bgcolor!");% A5 s3 ~0 g" I7 e% b
}
! Q. l- Y4 r- B+ ]/ \1 ?. s parentBgRGB=getRGB(parentBgColor); q8 X5 K6 y5 U* v
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)) @$ N% J' b, `/ R. w4 U4 {) X
{
8 a: O6 v2 [1 C' j. d orgNode.parentNode.removeChild(orgNode);
, r. U9 P* [6 [! N& e }/ d6 Z1 b: \9 ^7 Q
}% }- N! E1 r# P6 T: `' T8 t
}2 I# q, t% {' M3 T1 G
}
" J% X4 F$ X8 _& b ~) Q4 e }
0 X/ u, T: W d1 N& F+ a }
$ K( S! V3 J( _
% I8 z1 y! e. h& n3 C) M* h/ b [9 ` $ w) B" t9 u, p; f
var itemFrames = page.getElementsByTagName("frame");
$ {0 {+ C* x- y9 c2 ]) o% n( @ var itemiFrames = page.getElementsByTagName("iframe");/ |- `; N5 y2 m: Z& q4 Z+ h+ J
: l* k+ I& }% J) S r) X; D4 C4 { var frame, iframe;
0 p8 @! Z/ M2 c' d' [ if (itemFrames.length > 0)
: |/ H6 X0 G* g- M7 c {# c8 s! S5 E) r) |- S4 _2 y/ ~
for (var i = 0 ; i< itemFrames.length ; i++) 8 p/ {; K2 N# k- X
{
2 s5 f+ W. V8 m( x- P: j9 e frame = itemFrames.contentDocument;
! d. `6 J" [6 Y/ B# o3 t! z this.RemoveHide(frame,objname);
8 Q0 A6 s/ w. M1 Q, Q) Q }/ z# e/ L; S: d6 X( u
}
- c$ S: D- P, ^- B4 t if (itemiFrames.length > 0)
3 g" A! e7 s9 N( {- j1 Q: W {( X" U* d2 u* _
for (var i = 0 ; i < itemiFrames.length ; i++)
+ x7 K. K: \- m! W, m7 D {4 p) F% E) Y: Y/ K% o# j
iframe = itemiFrames.contentDocument;- k9 t8 ~ E( t; v A# Y
this.RemoveHide(iframe,objname);
% Z0 `& p% k; F }8 ~& V. G* `7 y2 n9 S9 G1 [
}
/ ^/ M; l: I, U4 B }! r/ x! [) O1 b- X# F
catch(e), y V; [8 `4 t/ F- K
{% a, E9 ?- W+ T* _. M, z
if(debug)
7 ^9 |5 F# X n6 [2 s' j {6 u+ e$ Z& A, F+ n
alert(e.message);
, ~( T! D' `3 P: I* ^# g/ k8 i( X9 o }! }0 Y# l4 Q9 Z; M( ^
}
1 X9 o7 o% x, b. ^ }
6 c/ m7 \+ ?: ~; a - ]; l. I3 C- N
}
2 E! K0 v5 P- P( Q5 L
- T( ~) \+ n! r' K3 C9 Ffunction getRGB(colorString)" D. \5 o, l# E# H* O" o$ h' x/ X. Q
{! Z) Z( h1 q; o2 M/ Z; \5 l+ h
var RGB = new Array;
1 ]3 d) X0 A; n( `! _ var tempSting=colorString.substring(4,colorString.length-1);/ K; J8 K! ]# a1 |% I
var tempArray=tempSting.split(",");' H/ U, g' i7 r& a
1 g) J* y2 w4 `, P RGB[0]=parseInt(tempArray[0]);, b' Q! {8 y1 R: c8 z
RGB[1]=parseInt(tempArray[1]);
. q% W9 \( [. g5 F3 s RGB[2]=parseInt(tempArray[2]);
7 b$ e; _! x# e: o
1 V- Y; [1 `. ]" H! ^ return RGB;+ z( }6 r5 L5 k* K" |
}( ]: t: F c2 c0 G( F, g
function keys(evt)
. \" J% J4 @( B0 D' `7 I {
9 |. T2 {8 _4 F* g if(evt.ctrlKey && evt.keyCode=="81") ( t2 N) H, \7 t, r9 _
{
0 Z9 G1 t3 @0 i' u# R- I CleanHideObj.on(0,1);9 j/ b4 U1 a, a3 y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . E3 J: T, }# E5 K3 i( ?8 R
@. H. l+ Q/ J% S
}
/ L) s4 n4 a/ l; [ D+ ~ }
1 W9 o- Z5 `1 p# vdocument.addEventListener('keydown', keys, false); ; ]4 N$ [; H5 x2 ?
GM_registerMenuCommand ('Clean Hide',
" m) m$ O5 Z8 k- W+ Tfunction(e){* Y. E2 a2 R1 |/ Q+ Q
CleanHideObj.on(0,1)
. n7 k+ ^( d2 ialert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! ?: p5 G# U' ?" G5 l
});! [: b. f) i2 S6 D) F+ Y! X" n+ w
|
评分
-
查看全部评分
|