|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 u9 p8 p; \6 F7 i0 w1 {8 P
7 {% Q1 K% M9 e' G' c, \4 y火狐插件,用猴子
3 s. n( k& L9 O: t" i
% p# Z5 H8 ~* u' v7 jvar debug=false;
6 O6 k/ L# N1 b% \/ y: {9 J% o5 y4 Svar CleanHideObj=new CleanHideClass();
- `3 o* H0 }9 l; H1 h6 k9 t, ]' _+ U2 \ j
function CleanHideClass()
# W( K; B' b+ R{
) b3 O* C A' ^) J" D - R _3 _* {9 M
this.on=function(id,bMZ)8 i/ g: l% b4 b5 N
{% l# u, L. d1 w5 u9 H+ x
1 R4 t. T$ s' P
if(id == 0)
3 f0 U4 J8 b4 T: F& N {1 ]" S2 o+ c2 q5 G, ?% }0 |9 l
var page=/* document.getElementById("content").contentDocument */document;
, v+ ?* Z! e) h, J8 T% N0 }- ` this.RemoveHide(page,"span");
/ r7 t: k5 S+ q this.RemoveHide(page,"font");: \. c% x; R1 b8 P' P
this.RemoveHide(page,"div");; o2 z* B0 y5 h4 I* f: T* `
this.RemoveHide(page,"p");
' d- x% k" g1 j9 n# Z) n8 X: q s6 b% a7 R# [/ a3 n
}
! B/ V' |- V& p- F% b- s8 _
i6 s+ L. l& l' L0 E }
# A+ ]& k( Q- b$ q this.getobjstyle=function(node,prop)8 G0 I% `1 S: h% I' A# V1 \; G6 ], h
{
2 f8 O8 J, w4 `* B: K try
5 j# x0 Z/ ]1 ? {
4 m- S" ~+ a" u$ M" ?, R return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 g; F( |& {, R9 Z2 r
}" U0 r z) m- a+ X9 p$ D
catch(e)
; A, x5 _- M/ g4 A1 E4 A8 N+ O' | {5 Y! J8 e5 s& D# R5 E
if(debug)
. x, c. B4 P& j {
% c" n' {# v, l5 e alert(e.message);7 Z5 p& F& h8 @1 B7 V5 C* w1 E
}
5 X9 f4 S$ X! h. `7 p- N
& i0 i: b) {2 h4 @: Z' T return "200";, I" v8 ^7 j, w5 y2 o
}: g, g' v8 Y3 o
}
3 o! Z D& G9 \/ q! u0 c: o& I ; a% T7 G) f8 m9 H6 L6 R
this.RemoveHide=function(page,objname)
1 i# F- b- V: s7 j7 R6 N( U {
( H# q( q! X/ n% j4 r$ U try
' [9 p' `1 S, Q {2 n' N; M7 U: ~. m6 ^" x
var minValue=15;1 T3 L# s" E/ A- l5 M5 \- t# M9 d% c
var objs=page.getElementsByTagName(objname); " m2 |8 P3 ~8 u' n* q& F% C
2 }1 a' T. ?1 W+ N
if(objs.length == 0)
' A0 k5 m7 o% g, n8 p2 k1 C( g# g {
4 G3 k8 \0 J3 ~5 S if(debug)
, {; i% y. m" \5 e; o {
. u( E# r/ b5 H! c R alert("no object found!:"+objname);0 Q* x8 Y* F: g! [8 r% X6 p
}
% a5 W( a1 ?& g& X }
/ S$ i2 u9 d7 r else
/ h: T, N& f* e* ~1 ` {3 {* w. |, J6 H! N
0 y0 a! ~: q& [$ O$ }/ v1 ` for(var i=objs.length-1;i>=0;i--)
2 t, M3 L" l; X2 I. L0 [ {9 y& C, R$ d+ K, u/ k' d: @
var node=objs.item(i);
8 l/ ^8 T3 H! Z* ? 1 {" ^3 \6 x+ Z9 p
- C( X+ ]$ f( K* Q! L5 o8 P if(this.getobjstyle(node,"display") == "none" ||
/ J8 s3 n. a( \* Z0 R this.getobjstyle(node,"visibility") =="hidden" ||
5 G& r% s3 I# h8 _9 | parseInt(this.getobjstyle(node,"font-size")) == 0)
: ^& s' m' g8 C* t: I$ i# [0 E {
) P' D+ \% p$ V( ] l7 p" C if(debug)& o* M9 h/ {9 g- I
{
) K3 j, a& w, s& P alert("remove invisiable!");
4 T4 o0 w( I/ v0 T }) A5 s8 X$ O( `3 `, s
node.parentNode.removeChild(node);
, j9 l; E2 `; X8 |$ O- W 1 }6 y" k9 _7 R9 W; I
}' P+ D; c# t; N2 Q1 D
else % {* ?% n) M" B
{, i, {2 b7 l# m, G0 W
if(node.parentNode)
* \# A% r# h' p. Q3 X+ } {
% t5 G; ~$ H/ O6 t4 u- K3 C3 x var orgNode=node;( D& Y" y7 v4 y
var orgColor=this.getobjstyle(orgNode,"color")
; I6 B" _+ E( f9 R X! z var orgRGB=getRGB(orgColor); ' s, G- N& n" m
! G% Z- U, Q9 }. e8 ?* A
var parentNode=node.parentNode
4 V% W7 O. ^; Q var parentBgColor=this.getobjstyle(parentNode,"background-color");7 Q3 x- f- @% [. D4 D7 `
' c5 L# ?0 S, X+ W) ]
var isLast=false;
4 g' z$ h+ m7 d6 W& W% {; I . P) E+ F0 i* s7 w
while(parentBgColor == "transparent")
3 i: K* U( {% E, [4 ^# ` { S) S. e6 h4 P, L6 R0 b. N3 S+ V
7 v+ S- u; n3 Z* b/ A, V; }0 L6 e
0 L( y, s: }& Y C! W if(parentNode.parentNode == null)8 S/ h( l6 v. v5 h
{
3 R3 j0 ]7 j. \8 s isLast=true;9 ~7 R3 }: z& [* }% f. U" w
break;( m' @9 C$ k/ M) ~( x
}
5 [" c5 K' b5 I5 y+ ^& R parentNode=parentNode.parentNode;9 ^7 e+ y1 E$ T& _
parentBgColor=this.getobjstyle(parentNode,"background-color");) T7 p$ I- a* c. l
' n8 v1 e. O1 t1 a5 Z if(parentBgColor != "transparent") 1 i/ U' W( j8 N" ] S& @
{: E/ o& O5 k( x j
break;# L) n8 x& y3 F p7 F7 H
}) C4 G" G$ G# V3 G$ f, I* z! q
}
$ K) V- l% R3 S! x% b7 n if(isLast)
$ v& a2 P* \- R) Q! \- ?4 U {
7 q: g( N2 ], e0 o5 J7 v3 a if(debug)
5 k! l# V6 }" X" @) M {
6 L# U5 B: g3 h& x+ J; U alert("last!!"); \7 a. m4 r3 }
}$ r2 P5 I$ u8 ^! H q: ], i7 l
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))9 s, u( i/ @. D- v# V- X
{) k; T* \8 A7 m# I* f
orgNode.parentNode.removeChild(orgNode);
8 }5 ?7 E8 e& _: s$ }/ r6 } }/ S3 B: G! L4 j7 V3 q& l7 }
}* y! K8 a' a9 M3 l3 A& b
else0 {& \% @* G. Y# Y6 v+ k; d5 g
{9 b- o, `' |3 p8 d
if(debug)
/ ~. |& G% t/ Z$ C {* F$ L3 t- l$ z+ a5 o
alert("compare color and parent bgcolor!");) Z# Q" W) Q% U1 ~% U
}
% U1 N# G' c8 F- a$ F parentBgRGB=getRGB(parentBgColor);
. ?) F% Y; _- R" z4 Z0 ^/ L' s if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- @. {. R0 S6 @6 O' A# @& {) M0 m- M
{
$ ]1 C! Q8 I" _! R# |0 g orgNode.parentNode.removeChild(orgNode); : A# H, t+ V, o6 ?5 [
}
& ? i2 S% ~2 Z) M6 w }
" a* `: {9 O# a2 V }( |# r+ Z7 o% X/ a/ H5 e! d
}
4 ]6 m! [$ g4 z7 q' x1 M$ l }( `4 s- d! {: M* E5 Z$ C) B
}
6 A! {8 @9 h# _
+ g: s2 u9 G/ J: g : H! S% C& S, A3 a: k
var itemFrames = page.getElementsByTagName("frame");5 c1 v5 J3 q* ?! X7 U2 F; E4 t8 `+ O
var itemiFrames = page.getElementsByTagName("iframe");7 p Z, b0 r. M0 v
# l* ~8 l; j" H9 n% o# V var frame, iframe;
/ h- H" L+ x, ~8 G) u' u+ B& h5 f if (itemFrames.length > 0)
, T y! u0 `- d' u; R2 B: l {' B W9 l8 Q* Z+ V% H% C
for (var i = 0 ; i< itemFrames.length ; i++)
' m5 v/ h, M) ? {7 ^9 K% }4 h9 ^ s+ y( J! T
frame = itemFrames.contentDocument;
2 c3 X2 B" q/ x; w1 ?8 r this.RemoveHide(frame,objname); 7 i8 h9 @% c1 D' q
}, X! R& K' y& w2 M3 }, _& F5 I( ]; u, u
}, t- K8 A' r4 u) f
if (itemiFrames.length > 0)
& |# Q& c; k+ |$ i {# r* g0 i \ V8 ~3 F6 _7 B8 \
for (var i = 0 ; i < itemiFrames.length ; i++) 4 G! f* O5 U0 i/ v4 o, P
{
0 X* j. n6 ]: A8 B/ q3 m% D iframe = itemiFrames.contentDocument;! Y% v3 e' S0 A2 O1 x7 B* w1 K+ t
this.RemoveHide(iframe,objname); 8 Q+ K) W, l9 Z& M; s( S
}+ @6 }; ]" k( T, b7 _
}% z$ W* `; C `
}
& T. R2 k% Q5 ?# ^: V! Y catch(e)$ H% K1 k. V: P I( }
{/ ]6 k! N3 [9 |' m
if(debug)
( q) o/ e/ e$ r. ~* V4 g: I- P {5 w4 P' T3 {6 d$ N) D: y5 u7 m
alert(e.message);
# ^7 c# \4 X7 ^6 i( K9 l! Z" g }
3 V% m% a' g' D7 @3 i% [ }
% \- b) Z+ o2 @; | }
6 U) h1 c+ x$ ]2 }/ Z( g8 s - P# J6 U( ^) X. E' q
}/ P7 p$ S5 D& s
0 I: L0 {7 x. [: i' Y3 T
function getRGB(colorString)
* J5 J* Y, P& O( S{
, W3 T# V$ ~3 S1 @' n7 j var RGB = new Array;
/ A) [) O0 Z- v5 F! J' w7 M var tempSting=colorString.substring(4,colorString.length-1);! G! t9 n S# C/ C# d! O
var tempArray=tempSting.split(",");7 Q: U! P2 w' X, O, V
$ P0 ?& Q) v5 c C9 p% v5 H" ` RGB[0]=parseInt(tempArray[0]);1 D: E& [. H" U0 R6 ?8 E/ L
RGB[1]=parseInt(tempArray[1]);
; G5 p' @0 z) i7 g+ N Z( S7 k RGB[2]=parseInt(tempArray[2]);
' B0 \+ e" q" ], w 5 E0 N+ a3 x% x5 @0 J# S/ Q
return RGB;6 ? j0 G A3 v( {$ n- S( T3 y J
}
' P* F# B! N c# _7 Pfunction keys(evt)
6 z Q. _; ?0 Y% j3 y {
# \/ {8 y6 j' b0 `+ E if(evt.ctrlKey && evt.keyCode=="81")
/ |6 a, _9 | m { ! \0 E5 Y3 V# | J' B+ t/ n
CleanHideObj.on(0,1);2 f+ E' b, K* y9 \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # C9 v: c5 N; N3 m) Q- @2 N
0 X" {* _6 k8 o! E8 S: X3 c6 A# ~ } 1 _- I M V* G$ u
} ) i/ S. J4 G& y) z; x
document.addEventListener('keydown', keys, false);
, r) S& P: O, m$ ?9 tGM_registerMenuCommand ('Clean Hide',$ _' l+ o/ h# G. i2 }
function(e){
. ]' |- b+ F6 A) t) v( P, lCleanHideObj.on(0,1)
3 c% p7 D9 c/ t) p% K Xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( q" K* m3 T4 j7 a" h4 r b6 O. z
});. _) Q. D% T, K) x
|
评分
-
查看全部评分
|