|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ( E$ o% z- y9 `
& {* `: \; W" i3 [) F v! t
火狐插件,用猴子% `5 @- N' O4 n- ~5 \% U
* U* x/ e4 W) T5 k) `$ ?0 h# u( F6 xvar debug=false;
& F0 f. ~7 l: u, \var CleanHideObj=new CleanHideClass();# F/ p9 s3 G4 |. ^9 @, e: z
1 z9 U2 k6 G4 x
function CleanHideClass()
/ y& q9 Q1 H4 s3 Z. I/ U{ ( l( S, B# o: z# M) Q$ A( Y
- E4 E" q X' B2 g' W3 Y9 i
this.on=function(id,bMZ)
$ i. }0 W% C' F+ z# J) Y& f {0 K0 ~1 D2 h1 A2 p2 Z
; l3 y% o1 }; z9 w if(id == 0)
! j, a9 r7 _5 x; s% o: r, { {
2 b" X. J, o- b k var page=/* document.getElementById("content").contentDocument */document;
# z9 i0 S% n2 S' M3 N! F9 U this.RemoveHide(page,"span");7 [% p. T* G( W+ @
this.RemoveHide(page,"font");/ c( b( i7 B( v# w, ~( i
this.RemoveHide(page,"div");
7 \& g' Q4 [4 f a3 f4 h this.RemoveHide(page,"p");' A7 i/ Q/ k- Q# j8 w8 A6 r
4 a. w& {! i' i& N' d
}
* v7 v) R3 Y W- [4 M- C8 b. B
1 m) T z* j k7 ~2 u) o, [ }/ t' U C& o4 p
this.getobjstyle=function(node,prop)8 s* ~1 b* U4 B
{
/ \# [ b5 e8 W/ \/ o try
; l$ w- F6 v# v: g6 _ {4 R& Z- x* X- z, Y1 U. m1 r% a, R9 `2 t3 Q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ {( W3 J9 ^& e% A+ V% O! H
}
/ w1 O9 @, [& U catch(e)
1 N* d0 f5 F2 [& ` {
* |# M6 X& o/ f* O8 W3 M3 T# k0 @6 o* N if(debug)0 T* g- E( C a# h3 y9 `
{
/ C- z, O" {3 S; \0 G alert(e.message);
$ \* L1 G6 n+ B5 d: g ] } C- d5 D }% [! ?0 P! j
9 p1 Z7 D* A- `
return "200";
( d9 D) B; |& J% W, K) a& t }
) N p; O8 ?* X5 f/ b }$ o, {; t: ^+ r. g- Z. P
& T& e* }1 N' D/ b. O1 ` this.RemoveHide=function(page,objname)$ I3 t% n% x" j q1 o1 T5 l
{
9 ], H) U& p' z) Z2 {0 Z try
3 u. J" p5 |& Q8 k$ j+ S$ H {
+ P5 `# V$ Q( P$ w" Q( C+ z var minValue=15;
9 s1 d- X1 H: y1 ^ var objs=page.getElementsByTagName(objname); 9 s+ P; N9 P* a6 K* \* u
; u7 m3 F1 k( c if(objs.length == 0) ) V% D" y9 q. ^: q+ Y1 y# y3 T
{
, M) |2 V) x: C& a' I4 a5 f) A if(debug)
, _8 E& M0 |3 p7 S {
2 r# l$ C* V% q, g& g6 ~% B alert("no object found!:"+objname);
7 o! Z' G# F2 E7 j$ K: R" T2 [4 U }
$ Y8 g0 h/ p5 e1 Y: j; I; g8 f }1 Q. m0 P8 K4 J
else
. t* v/ T! q Z+ b8 q" d" G {" c3 M% I( L8 {0 f
% Z8 J. _, t+ o2 U for(var i=objs.length-1;i>=0;i--) 9 X6 n3 e7 D% l+ z3 J" h7 \
{+ A8 ^0 Z& w; X1 X$ o4 p
var node=objs.item(i);
. |* j$ Y$ p. U8 I, f' \+ c 1 t7 m0 ^+ u& ~$ W2 d) o/ _' A1 M
. C0 ]$ Z9 @+ {1 C6 E if(this.getobjstyle(node,"display") == "none" ||4 a. i Q. W8 p
this.getobjstyle(node,"visibility") =="hidden" ||
i# F `8 d, j& i4 ] parseInt(this.getobjstyle(node,"font-size")) == 0) & k! e1 p0 E; X5 c. ?- k- C
{
, K1 p# R* f5 f% w( l; { if(debug)
2 w, _# H& z5 T* v; D7 S. H; r {
0 N: L) ^8 y! ?* e, Q- G alert("remove invisiable!");! w9 F& }: [! F" z7 f7 N7 J2 c _) q
}$ U0 U O+ B3 k# t
node.parentNode.removeChild(node);3 `7 `0 x% t$ V1 z1 D# ?) e. V
7 `1 ]( n) i0 t# c r! b1 ?5 l
}
; V, z' Y6 b' y X+ M$ g6 D+ H1 m else
% t0 n1 N+ s/ k {
' S! V D! _% X* L! }/ `9 }7 ? if(node.parentNode) # T1 z$ k8 B. ~' `; N7 Y
{
% I% {' E9 \: g var orgNode=node;
9 \. ?1 W) w5 g, D8 h. ] var orgColor=this.getobjstyle(orgNode,"color") e" z; E; W5 c; P; s- a
var orgRGB=getRGB(orgColor);
7 q0 m/ D; F; J9 b9 s
: ?, V7 P; N1 T8 p, q4 o5 v7 L var parentNode=node.parentNode
5 U9 D4 }. y& i. F var parentBgColor=this.getobjstyle(parentNode,"background-color");1 D/ j! e* X1 i+ J& J
$ I- o1 a+ k S S. T( W8 L
var isLast=false;
; ]. Q6 _8 w; L0 U- A) U; Q" g ! j# C9 j8 {( d* J6 L
while(parentBgColor == "transparent") $ |3 R$ d U5 c8 h7 i& @! \
{5 k+ ^$ l3 z( V/ f4 @1 L( ?
0 N0 k! k7 }5 V) j 2 r' N: ?) t1 M5 x8 ^4 T' P
if(parentNode.parentNode == null)
9 {+ i1 s( Y( _2 I {
1 A! a; {) {: o isLast=true;" f% [: E" T" J& \' r& m0 }' k
break;
( h j3 r, C2 q H }
6 J1 q& z) z- s& v$ |" e3 t# S parentNode=parentNode.parentNode;/ a, {* |( m+ {( n7 {- w, O5 y1 r A2 p
parentBgColor=this.getobjstyle(parentNode,"background-color");5 a! B. @ }: l) N
4 r+ Y+ Z) E6 [; B& X% u% ~
if(parentBgColor != "transparent") * u4 Q! k* r! q" B7 L: k& G. t
{
& G$ E J7 o& b+ T& \( t5 _6 j8 h: r; c break;7 P3 f: K d+ o$ q/ V2 J$ v
}2 i, K/ }' r/ ~+ L8 s
}
4 [7 n, ~! T) m( o: ? if(isLast)
) e8 d. Q/ T7 W2 p {
: N2 N8 _' i' e7 g/ r if(debug). X! C& r) K: k* B9 G+ B Q
{2 O' S, g& {8 F4 E0 A
alert("last!!");
! K" ^& l; C& z. m B: l1 W$ X5 t }! f0 Z/ D X2 v% X W
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); f! Z- \9 W, _* b0 C; V: q
{0 f. R" T* p9 l' W1 [ e A
orgNode.parentNode.removeChild(orgNode);
! D7 [' e9 V7 z- M7 t }
. L4 Y) w8 c. ]- M+ k T+ p% A& ? }0 a: j# ^2 k& V9 F# ?
else5 I% |; ?) \2 o& y* p5 ]% |
{
5 z, A5 [6 |0 Q1 X7 g, ~: N8 w* Q if(debug)- t5 g9 k5 ?8 J
{
2 d& j; N9 j. [: |: o+ }6 W alert("compare color and parent bgcolor!");8 V8 T! ^: t/ l% N. _& s* f0 o2 e
}
# R* @+ w9 u& A4 G$ f( u9 j* S/ c parentBgRGB=getRGB(parentBgColor);" o( K* g' v. n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)), ~) w' r5 U, s* k, C0 N" g4 ?4 @& H
{7 R- e6 M7 @% h! a U: q" @3 q9 c. t
orgNode.parentNode.removeChild(orgNode); 5 o. o- s% C# ?5 e! H5 P6 f
}" E0 }/ s( r2 @ j% Z7 B
}
0 [: I0 K& G" B4 L. V }; ]8 t k3 `; j `8 i: q
}- r4 G6 j& F5 z( ~9 }" c' d
}
4 y( B) }# G" o3 J% h }: d, b6 O$ H0 P+ w
$ e+ h0 L- U) k0 T/ w
/ G& P; E! g( [( }8 q
var itemFrames = page.getElementsByTagName("frame");
$ a/ i2 X$ |8 ^' `+ \' T var itemiFrames = page.getElementsByTagName("iframe");( x9 Z9 Z4 n: Y8 T3 V0 c
d$ z7 c3 s- n4 t) E2 H var frame, iframe;* z2 ]* y4 _4 m7 h2 e* M
if (itemFrames.length > 0)9 N8 B' h" y9 E" H& \1 ]
{" h, {- L( n% d; I9 A
for (var i = 0 ; i< itemFrames.length ; i++) 8 C) r& P& E7 i" Z! b3 X6 G0 t
{
" \! g/ x8 {( n. m8 a- \5 U1 u frame = itemFrames.contentDocument;) s+ ?; y' W, c& T4 K& Z/ U# @
this.RemoveHide(frame,objname); # B0 s% ?/ \5 n4 x7 o, v8 i
}
( W+ \" D" U* H }3 [3 s4 O+ v& q7 b$ ?1 h% R
if (itemiFrames.length > 0)
5 o+ o3 R/ }8 z' p" f9 h6 F, ]. Y {
- H* O! k$ \9 M; E. E' }1 Q for (var i = 0 ; i < itemiFrames.length ; i++) 7 n: L# ]4 w. n8 e. h! C( k; W% \
{( P7 I; b a$ O# G' s9 n1 s
iframe = itemiFrames.contentDocument;
" B& ?9 G; \7 A3 e! z* K1 j this.RemoveHide(iframe,objname); * S$ v, f6 E2 _/ [% p3 w B
}
( F* L3 @8 \6 p9 t" q }
0 _" b' Q- W) @$ `* {0 i B }8 @& S4 X9 A+ P4 h4 l! X
catch(e) Y6 l7 _( q, f3 l4 j: K8 D; m
{4 c! G( s: x7 _! v# W/ k. [2 t
if(debug)
! x v3 H: Y9 w2 ^ {
" \ m! W) T" i' P alert(e.message);% s# F0 \6 n1 F4 T8 \4 L+ ]
}
8 j- ^; b7 l' l; {; k0 t/ h: j9 } }
/ U1 p: U3 {8 ? U, ?3 r6 W }7 f/ J" v% e1 H! {8 e% c
9 N# L1 G( q' @! L- r& C}
+ m7 o' ~4 L$ \; \2 ^$ O, ~; L3 v0 D# O. V) M0 c l
function getRGB(colorString)6 j% u) D9 F$ Z! t" z: w" \9 J* G
{
& v0 y- j, t9 h# ~7 Z7 \ var RGB = new Array;
: ?: k* d9 ]* x4 { C var tempSting=colorString.substring(4,colorString.length-1);
# A# i8 Q i* ?2 m var tempArray=tempSting.split(",");
: O) a/ M$ v* B0 M( J! i& w* _" W0 M9 r6 ]7 @
RGB[0]=parseInt(tempArray[0]);0 r& X* [' ]2 c3 F, |
RGB[1]=parseInt(tempArray[1]);: {$ I8 y/ y+ e& d( D3 O5 Q V- Z4 d
RGB[2]=parseInt(tempArray[2]);
8 b7 J! _- E6 U- z- D" ]. `
* [* F# J/ i) g! R: T. W0 m% I# ] return RGB;( `) B5 N9 ]+ X# X* F7 y! T7 A# Z
}
/ c; G/ U- N. g6 g+ efunction keys(evt) 9 |$ \- Z5 G7 f6 s" o' ^$ [8 ]! s" v. x
{ % r3 R& q* ] Y( p* J
if(evt.ctrlKey && evt.keyCode=="81")
0 b) P! b) A$ `- ]/ E7 ^ { . h4 L( r! @$ j2 W! {- s
CleanHideObj.on(0,1);
' x2 {" {3 N5 x9 J) k) u. b alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ r4 T" E) G: U
* }: j0 Z9 j# P- B/ g- o3 y } & L r) C. [ H$ \9 H o# c
}
! @ w& A8 k) B8 adocument.addEventListener('keydown', keys, false);
& V6 ~ N! E/ V! oGM_registerMenuCommand ('Clean Hide',
2 t3 j: j( F" W7 P1 Z* o# ffunction(e){
! X' u! @6 Q# n" uCleanHideObj.on(0,1)
! R1 Q# h: L" L8 zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");9 Q$ J0 H/ Q! ^3 o
});# |/ L I4 a3 _8 n. I* t
|
评分
-
查看全部评分
|