|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) T4 I. V; _' [: q# ~
6 ~# ?3 W1 [& G/ Y! n1 K- {火狐插件,用猴子
2 i5 W+ d A- u2 D% A5 [1 ^( h4 F9 E# G
var debug=false; ' u( `, m$ c3 Y& y( _
var CleanHideObj=new CleanHideClass();
* E4 u! o5 S% J
$ [( W/ G( @! M, R9 u- Ofunction CleanHideClass() * M/ h2 u) g# ]' E
{
6 l, B: b; K- v2 i/ M( G% E1 u
) R) r5 {) Z( _4 W this.on=function(id,bMZ); _9 S/ I; N5 K2 p+ Z: Z
{
& X# n7 N# g$ w# p
# p9 _5 H, [# p- S% Y D! H ] if(id == 0)
6 v' t3 v. {; V2 p0 A {3 y% q% i+ T- n9 N, C8 N
var page=/* document.getElementById("content").contentDocument */document;
' o7 D6 J& f' A. r K$ o4 [: b this.RemoveHide(page,"span");
' N6 F/ r \8 v6 ` this.RemoveHide(page,"font");
, b4 ^3 b$ `7 X J& u: a+ {2 l; j this.RemoveHide(page,"div");
& h1 d3 l$ s- R0 }% x this.RemoveHide(page,"p");
' D+ \0 H& v. q+ b1 H% c3 P. V
, k. o' l* h% C8 V1 r }
& t' _8 h( m# k! T1 [ , @6 U- ~9 P4 `$ P5 D) l
}" t3 M% l8 U" T A% C
this.getobjstyle=function(node,prop)
6 l3 Z3 P# i/ e; `* ~& x {
6 m8 | K2 ^/ T: M1 Q/ o; b. w try
1 I- y8 T0 P1 [ {
/ ]. b, w. c7 u* t! F return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
- |5 L! c9 x! N: Z$ f0 C$ B5 f }! X- H8 D1 ]& Q- G" s0 m1 _
catch(e)
9 R' N S) W; N6 y: ?. P. n7 j {* x& r7 R+ r, z8 `4 R% p
if(debug)7 Q V4 S5 L: ?- ~( z" O5 G1 E
{* c# M+ R) c* l2 f
alert(e.message);
* U* Q4 t: d! ~3 e }
: f/ g: e! \; J, P, o, N: ^ ; x' |! L# C9 r7 `- B0 F
return "200";$ ?* i/ H7 }( q: }) [+ ^7 _& E
}+ a' W% X( Y. I3 t1 {
}
/ p. k x: s. s1 k# q
0 y t9 n8 G9 l* `5 A this.RemoveHide=function(page,objname)9 `2 X" K- v6 K" _7 \( ]
{# q' y: B( |& [, Q0 G. J9 U
try
% ? K- }" w, ^4 u6 ~* q4 [2 s {$ {3 O6 _5 M. s3 l& y" W
var minValue=15;
, K9 v6 q4 @/ G: X- [% } var objs=page.getElementsByTagName(objname); 4 ?5 q. Y: }$ s3 @
6 }& ~/ }1 U) }# v$ ]$ i if(objs.length == 0) 6 |. S- P: G* n4 ~) R
{% _- \( u! Q, Q- B6 v
if(debug)
$ e3 r6 K, V8 T0 I/ A4 ~6 k; e0 l7 J {
$ c9 M6 U& W5 K( |, Z3 [5 J1 K alert("no object found!:"+objname);
& ]1 o- s) g0 [* \2 @( S! G- L& t }
, M* W8 w( v3 z0 M- h# R% f# b: k }
9 I( S9 u$ `1 r: g else" x* q* W2 A! J3 F. y9 h
{
0 q% s2 X' \& \0 ?* j
k% \6 F) B" Z% E* A/ T for(var i=objs.length-1;i>=0;i--) * h5 D1 M' l$ L0 B; D( m) O
{. ~& }# P1 d, ]% I& ~! Z
var node=objs.item(i);
; n3 a1 |) @8 M( |* i+ A8 \
. U. S- Q8 X" E7 h+ g, K 3 R X5 e& ?& [: I$ c5 @$ P! O
if(this.getobjstyle(node,"display") == "none" ||
! C" [4 I# r5 y! l7 h" w, M this.getobjstyle(node,"visibility") =="hidden" ||
) k+ s: q/ _3 u( I5 d4 a3 C parseInt(this.getobjstyle(node,"font-size")) == 0) ; Z0 @8 D q0 n6 M3 `
{
9 h3 e& o% K) v) T4 Z if(debug)5 W) M" O. p. B) ?$ d$ R$ k+ q; T
{
# D! l! [) M& @ alert("remove invisiable!");6 j% O1 g& U' u$ r' d
}" U: T, f0 A8 }) m! T j# A' @
node.parentNode.removeChild(node);: a0 D2 k% ~+ h- R- t
5 Z2 u" e1 ?& h' A6 u& w( j }
) q7 E3 x' h5 Y' Z. ?1 N5 y else
+ g/ c. w" d* Y( a2 |. T; _ {
+ C/ M* ^: g% p; K& p if(node.parentNode)
% J+ m+ B/ h8 v/ y { }: T( Z& T1 Y' j& }. N
var orgNode=node;! A7 v( b, r. P! O$ R, x {7 I
var orgColor=this.getobjstyle(orgNode,"color"); b4 t- B! A3 d3 y6 R: Y; C
var orgRGB=getRGB(orgColor); ( T$ e$ q$ d0 B. e
/ ^" Q/ t8 K& t+ _8 c
var parentNode=node.parentNode$ f1 p# j2 m! r6 r$ I
var parentBgColor=this.getobjstyle(parentNode,"background-color");8 `: M& p/ s$ P5 u! r
7 _; ]& K; o5 [( [# a! m: H var isLast=false;
) X" |3 i7 T2 o
! [9 ~) j, S9 j while(parentBgColor == "transparent") ' k# F0 L1 j5 g+ }. S
{$ J1 f2 j( P! r: H5 n) H( {! g$ k
# W5 q8 q* i2 t, t( c F & e( S; w4 t3 ]; Q
if(parentNode.parentNode == null)
, l8 p% G5 T: o( Z {
( p: ?& g, f% v" H7 ~ isLast=true;! j! d! N* [, | U* D4 V& j' |
break;
' Z. Z9 z7 Q- E- r }
0 ^: Q) P# a' K9 C {; S parentNode=parentNode.parentNode;/ G% Q v/ _# l( G$ Y2 w: c4 j
parentBgColor=this.getobjstyle(parentNode,"background-color");6 Z6 o9 V: H+ a5 P
/ d' t+ n9 |# F' c; V
if(parentBgColor != "transparent")
% b' R& S. S$ J$ s8 h {
) }2 y/ w$ E+ ~% J, N- b; p break;7 O/ |8 r+ |' A% S" o- q
}
3 Q1 t% w& @! }3 S/ e }
- X8 }9 R5 R7 S. J2 Z, d if(isLast)
- b* l5 o6 h: l8 L- W {
: \6 [. u- P) X% \' w. H" T# ` if(debug)2 ^6 w+ Y. y9 j
{& P" |& ]5 C. k1 J+ u5 u/ j6 h
alert("last!!");! m$ ?' p9 q/ D6 a& Q
}0 x: d+ N0 g) y$ v$ q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
Z! S( k- v% c' f# x- H* o {" J) b8 S/ P3 x! U2 a2 h' W" }9 M
orgNode.parentNode.removeChild(orgNode); : T4 x" U6 ] |7 U( Q. A
}
+ V/ e& @1 v& q# @ }$ H/ h) b: u7 E
else
$ l6 @5 b; v' }0 x7 j: f: t {. v, b6 r& k4 j$ B
if(debug)' P" }8 l. n. m* u; k: h
{
% d* M8 f3 }3 u5 R9 @' f! M alert("compare color and parent bgcolor!");1 @! O* j# V3 S5 u
}
+ H& T& G' G3 F, e( Q- @ parentBgRGB=getRGB(parentBgColor);
; M; C0 e' V# P8 P; v9 Y0 f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( w' G* u6 t7 K [3 ~' X1 w3 i {
4 F% I, ~ ^2 J9 A8 _ orgNode.parentNode.removeChild(orgNode);
, j, I/ \: e& G- _* M5 b( m }
! H J/ R" C! R$ o/ ^! r }
, J7 R, b& ^' g& @ }1 [: Y5 x8 k1 B2 a
}
1 o# ^% x4 v! t* ^$ J/ } }
# v/ |0 C3 h, B; q( p3 I }. k; U& z3 a# o B# k2 D+ T) }
0 x" {# ~4 [1 j+ |* U
; {3 a5 O4 j/ _/ d- V, | g2 P
var itemFrames = page.getElementsByTagName("frame"); S* o( y+ g# ]% Z: ?' j2 B
var itemiFrames = page.getElementsByTagName("iframe");
$ @6 ^: c5 q6 g* U 5 i: m8 K5 P) I }2 c) r
var frame, iframe;
2 H1 e$ @/ w8 z! G* G- r if (itemFrames.length > 0)) Q0 t6 T( ^, M- v
{
- g5 t4 U: q+ m+ x for (var i = 0 ; i< itemFrames.length ; i++)
! ~6 G, M7 N& t0 H. V: a {
& ~% @1 P4 }& A4 R! t h frame = itemFrames.contentDocument;
3 p. H/ _$ k1 Z7 b* Z6 g" L6 ? z this.RemoveHide(frame,objname); 1 Q# K1 A6 g Y; b, Z# P, G
}5 x+ ~% Y1 e k, V* D" v, k/ ^+ B8 k
}
) t. U! e1 K: B) d: x if (itemiFrames.length > 0)( c) R% R- ^8 M) | \
{) d9 P1 i+ R0 t8 k- I' B' @
for (var i = 0 ; i < itemiFrames.length ; i++) * x8 L3 G2 B3 z5 t- q
{
+ ~7 F3 ^8 I- W4 t iframe = itemiFrames.contentDocument;
: F+ W+ g% W6 k! u0 X5 W6 D5 f this.RemoveHide(iframe,objname); 0 |* R6 A: n$ E2 ]$ j+ b
}: @. \; _# p; A9 m: l( f
}
; O* u! Q; M/ w) x }
, m: y9 d' T* x0 _ catch(e)
& o- F2 j% T x/ S/ c* |/ s {
. X5 u* T! R r% _$ A if(debug)
" L. p8 S* l0 t0 _ {
9 C8 w1 [: T/ C% Q, `6 r alert(e.message);! d" \5 h# ]$ @2 B4 U* Y/ Z
}/ Z. O$ l# n+ l8 n% L* i
}
: v7 c* x& c3 f: H. k) F }
4 j) r/ Q9 V' ^4 F ' |( S- r' c+ F& e+ L
}. a& d0 t* t9 d
" N0 \# [# G% I& l/ z* d) E* c/ ^function getRGB(colorString)& O# Q* z5 l7 K: P# W
{2 r o2 {! w& _) O) ~
var RGB = new Array;" A5 G; x% j' C
var tempSting=colorString.substring(4,colorString.length-1);, K7 J/ ~0 M1 d# f; Q3 f( n( o
var tempArray=tempSting.split(",");0 q- T. c; V( J, }, {* R5 {* t0 ~
e6 T/ F" A) p
RGB[0]=parseInt(tempArray[0]);9 U& e) [# e- y& D
RGB[1]=parseInt(tempArray[1]);( M& m; K" {% M p1 L
RGB[2]=parseInt(tempArray[2]);
$ d( z' G' _ @2 X7 l$ Q
) l+ n0 j8 a( e' X( t4 L& R return RGB;: m! d0 `8 J2 w) V: d( b" K" T6 e. ^
}
8 c2 W9 j; R! |3 q! C% jfunction keys(evt)
9 x& c. [8 A- c& H) K/ J { 4 X. A& ^( i- ?" e' K: U
if(evt.ctrlKey && evt.keyCode=="81")
7 U( g9 d2 `2 s/ o* {! W5 d3 ^ { $ A- U9 L5 a9 w* q
CleanHideObj.on(0,1);
8 b! I" |' e8 N D alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); " } q' @, }( b3 Z1 Y/ q4 w
- ]% g- F% Y. D: h
}
+ O1 E( U' S& W4 N } 8 E! v) p: j- c! D2 v9 D
document.addEventListener('keydown', keys, false); , z5 H/ N9 C8 u+ ?% K
GM_registerMenuCommand ('Clean Hide',. E; E$ g# s$ K2 h! e; x4 ?3 J# c( _
function(e){' G; g* p7 [% u# F7 t4 j. v
CleanHideObj.on(0,1)& R) \) L6 Z" B6 e! ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! @# W, {5 m! m8 X) L$ Q
});8 H0 j. I1 H* _5 ^( f. r7 F4 p3 @
|
评分
-
查看全部评分
|