|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ n8 x% p+ s" x1 G- Q1 V) A
: K. c! F) i& o* G* O4 v- ]火狐插件,用猴子
% T9 k: r9 o" d1 u9 X* |. S9 T% N; n9 d: ]
var debug=false; % }; c- ?2 T$ F
var CleanHideObj=new CleanHideClass();
2 U8 ?) Z4 M4 A M+ Q1 v' Z1 e" @2 j O7 V3 `
function CleanHideClass()
7 p, {* J! U) M" f# d/ i' O{ S$ {+ T+ _/ N+ e
& w+ \9 d& |4 q% f! O' l5 e this.on=function(id,bMZ)
) f: k: Q" U/ D- w {
! U# a5 d9 B4 b1 n - z6 v# K8 M2 h+ Y# |; W
if(id == 0)3 g# t5 V/ Q# F& H8 C
{
2 _! e9 {0 p' \/ u, b: R4 y7 [ var page=/* document.getElementById("content").contentDocument */document; ! ~: p2 j% o; C1 G* d
this.RemoveHide(page,"span");7 ]2 j/ u0 k. [+ F2 U* A
this.RemoveHide(page,"font");
0 g3 C8 A& j$ l6 g& I this.RemoveHide(page,"div");
- g8 g3 Q8 k# }8 I/ ] this.RemoveHide(page,"p");
8 ~0 r/ P! T$ o7 c) F
( Z0 P x$ F! x' @1 i8 u2 m }- w" s& w. B' V% q) u r
0 [3 l. |0 {- w
}
1 E1 S( ^" w( V' ^, j5 F8 k/ ?" ] this.getobjstyle=function(node,prop)( L$ y- B! j& f# Y: k6 f/ x
{
+ @ P: I k! E, o) x) k try
8 Q# z( F9 W+ M7 l" i {4 r, ?3 r! m# B% ?$ p3 E6 S/ ?1 y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! ?6 a- o2 {5 }$ z k. U/ a) N
}0 q3 _* i7 Z0 g# f
catch(e)
8 g2 d( R( I7 Z9 C' t9 a) S {
3 _9 S0 T* Q; [ if(debug)/ q! K- o. k' a
{) _: }: ~) z" K, k Y
alert(e.message);
) ~) p- A0 B7 ?4 t& c }
' ~- s2 n2 R" n/ D & i, I4 Q( E7 S/ o! U J
return "200";
) I+ D' ]' x1 ? }
! y9 m" ^3 X* t7 V! Q }
- E) T8 l9 g+ T
( {8 ?) D0 f& Y9 B0 z this.RemoveHide=function(page,objname)
' Y8 X8 t5 Z5 V) G {
) l6 i0 m- c& ?! ` try& w: l+ u" r8 e: [. b( ?8 n* h# q
{
7 C4 y9 ?1 i1 Q5 L' D3 j var minValue=15;
/ i) L8 V% j0 r var objs=page.getElementsByTagName(objname); 0 V7 z* o* i8 F# ~* k
# t5 ~. x% E& e if(objs.length == 0)
' ?6 R& a7 e% a# r; ], {* T" p2 ` {
; A# @! d; t: `+ F) Z" o1 t+ } if(debug)
+ |, A- F' h0 ~' e& {" k/ f$ z7 {) b {: B( {' ?% B4 Q
alert("no object found!:"+objname);0 Z* s+ i, q- t& P) V9 {
}
' Q" j1 |* q7 i. Z( L% `! ]6 i }
' _4 V& A6 t3 L d. B: R# X" M else2 _' o- d. o& H; v! F7 G2 w
{
. c" s6 L# }2 T; M# c7 f 1 ~+ i: H- i( K$ a
for(var i=objs.length-1;i>=0;i--) 1 ^4 U; c$ x' V( Y" l
{: A r4 x9 a/ X4 n
var node=objs.item(i); ' q- T4 U3 D/ |3 S% S) D- o
' F! p2 u) d0 K. P* Y
^+ U, {7 j, ?+ c" t9 b
if(this.getobjstyle(node,"display") == "none" ||
& T' F* V9 ^: o* Z3 [2 b this.getobjstyle(node,"visibility") =="hidden" ||
9 N `# t" Y1 @5 { parseInt(this.getobjstyle(node,"font-size")) == 0)
/ ?. P/ s' T9 a/ x9 Q( f/ `" q {
: M" B' ]5 N4 ]/ u. ^7 w4 C6 d if(debug)7 R( Z) A: p. S& m
{
4 \5 K2 v4 u& X0 F5 R alert("remove invisiable!");9 p' K6 G G# A. r5 O! l) N _9 b
}
2 _3 H0 m6 n3 m# ~/ I node.parentNode.removeChild(node);
j: [# c. N) Z3 h! f% ]6 S2 E
- d9 l# A: @* | }$ J8 b5 B( Z( e6 O2 o) c9 v' R
else 9 O* b3 u, `/ L* n6 _7 p0 w
{9 _1 n' k* J& w8 o+ f. ?& Z
if(node.parentNode)
7 O5 a2 Q/ N a/ N6 N {
: f$ z. ^# v7 w$ }9 p Z var orgNode=node;6 t% k9 ^# s' ?$ n3 A# A8 e4 F* G
var orgColor=this.getobjstyle(orgNode,"color")
' e. C7 {% p/ V( N% T% \' X var orgRGB=getRGB(orgColor);
8 u* E$ |; I: Z4 a) {0 ?& T8 f- g5 e6 D
9 `! \4 V* Z+ H0 n' F4 e( X var parentNode=node.parentNode9 i8 O+ {! G( K" u! p
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 P a; F1 k1 [8 g- B5 U. T * [" A1 ?7 M: e1 G+ R& e
var isLast=false;) u0 @. n% _! z0 R' G
2 M( n; j) u$ Q6 P$ e- U while(parentBgColor == "transparent")
; ?0 @8 n7 Q! C& E3 d7 H8 i {5 ]# ]) R* i( P* E" Y
9 A7 ~$ h" t: }8 z% B4 k: ? + j& C7 q# r* q# M, R
if(parentNode.parentNode == null) o- ~7 E. J0 _( {; B. a
{
1 k H7 \! s2 B9 s, E% t isLast=true;0 z$ K- y' ^* Z4 f. Y9 m
break;
( g( [" c2 i3 n( m1 Q }& v" o* y7 V& b, M# O1 h; `
parentNode=parentNode.parentNode;
" `8 v& h: i# R# J5 c( E+ V2 l parentBgColor=this.getobjstyle(parentNode,"background-color");8 |' x) b+ p0 N5 z9 |$ s) t# E
- G8 O* {* r: H4 ~3 w" M
if(parentBgColor != "transparent") ]7 I8 {/ f& Y! E) P8 j. r6 j* s
{
3 a+ d; u8 l& W7 H* c% Q! U' L break;5 a; d) a6 I- T' _
}
3 u: g" t# v/ X }/ {8 [1 W: l8 K, B9 K7 s
if(isLast) x& g: a2 `: |+ X& t/ n6 y
{
: h) M0 \2 j/ l4 e9 w! s u if(debug)
0 G$ S" f S( R& [; Z {
4 [8 P) H3 P9 I/ _ alert("last!!");4 L. |7 j+ m; C. Y# K) o
}
: b, V3 L7 a9 [% p1 O) F3 H- z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 ^" ^/ u/ @. E1 H {+ G% s* n5 [- e) v% W' G0 }$ \ k
orgNode.parentNode.removeChild(orgNode); 0 B. w! y; P" z4 ^2 n4 T& P% P! d0 k
}
# p4 g- o9 f% k2 ?- a5 o4 W, v }
( ~# ?- H# W, I9 y else E: U) n# E8 {( W5 \8 I a
{- u1 [1 A8 P5 G
if(debug)- y0 a) N7 z7 H; ^ b
{: T# g+ g2 H$ c1 C) l7 ]( l6 r
alert("compare color and parent bgcolor!");8 Z$ O* \% M: d t1 B2 G
}
9 o; C4 v# x9 z parentBgRGB=getRGB(parentBgColor);
$ n) A4 Q+ l# ~: {$ x if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% a4 j" n1 b6 Q! f
{ `. @/ w) o3 Y- I7 J
orgNode.parentNode.removeChild(orgNode); - I( Q0 s+ Y) N' `+ R8 u
}; X- Q) e0 d* T0 x
}+ w( z! t& C0 D/ Y) P" }5 w% X
}
0 a3 e8 K4 J/ [' Z }4 B* Y; |. r3 F* h$ q3 s
}4 S! d$ x4 R3 x6 e3 {) w7 h, V' `
}/ z( v3 O1 \* S4 }! n, {7 G
3 M. N% ^ I* O( P9 w
$ H0 u" B' {8 ~! N. K# ] var itemFrames = page.getElementsByTagName("frame");: q! q- O. B6 H) g
var itemiFrames = page.getElementsByTagName("iframe");
: X) D: o. T' S * i: S" }( A4 P! j6 Y' [; K& z
var frame, iframe;( H P. \" P1 K" k7 t" L
if (itemFrames.length > 0)
$ E7 W3 B& D* W5 R0 S4 x' _' P {
' f4 ?6 e `/ E2 u7 t) P2 l" x; X for (var i = 0 ; i< itemFrames.length ; i++) g$ y/ M; J' |- `
{: g( _* n' b* O! A7 D& ^. E
frame = itemFrames.contentDocument;+ |% t5 d2 E0 B8 R: I! Y0 Z
this.RemoveHide(frame,objname); ( A) W6 W# X. ~5 V+ T, \
}5 b* Q5 r N+ L9 o9 W. \2 u
}+ I" i9 D; R2 A% k! O
if (itemiFrames.length > 0)
' Y4 {8 ]% K, K) h4 u$ \2 G {
4 p/ P3 V' T7 [; C for (var i = 0 ; i < itemiFrames.length ; i++) $ J4 E; q0 K: O I! H8 |2 T
{% N9 I( D! R4 K6 l, n7 _$ U5 Z( B
iframe = itemiFrames.contentDocument;
% ^' N; Z* Y, Q5 W; t4 t this.RemoveHide(iframe,objname); 7 B0 T" ~8 R+ b0 n1 A5 \
}
2 _! k; \* L# Q; o! r }) U9 H6 q" S' U4 E- G2 B% n
}
2 [. r& p! d2 x5 S8 o catch(e)
+ Y/ K% ?! {1 E. e* ` {7 [ y8 a+ m% f) O
if(debug)
4 e2 }& Z5 k" L; s$ V {$ o% b) v/ b+ j. I: x) R
alert(e.message);
0 d% j5 l4 Z! \4 k2 N* v }
3 H0 ]- U7 F$ I7 L" d/ ? }
5 U. o6 T% l, q7 a# N, {9 O6 t) i }
" y) |1 Y( }6 R4 r* T0 e, ]& B ( Q" F+ }% _2 S9 [7 l* m
}' x$ p2 E& g4 v2 m+ w9 F3 d$ f
- |$ a/ ]9 ]2 C& |; d0 T+ ]; ]5 Y* l ~
function getRGB(colorString)* L* `. S& c5 e2 ^. v3 j) ~2 x( R
{
) V, @# b: D# ]9 L8 f1 A* c var RGB = new Array;6 ~3 _& p( k9 \- [/ L9 b) p% }
var tempSting=colorString.substring(4,colorString.length-1);6 ?9 y! |7 R8 i- u1 T- E
var tempArray=tempSting.split(",");
1 Q9 k* S: b. k$ g
/ J+ Y( k" _8 N+ y. w/ c5 J RGB[0]=parseInt(tempArray[0]);% M: j, s2 y1 O: b- W
RGB[1]=parseInt(tempArray[1]);% u4 q8 K) y+ _
RGB[2]=parseInt(tempArray[2]);8 Y4 z* u$ z* B) z- F3 k5 v( X S# g
1 _- D% I2 Q6 P: p* l. A$ _+ h
return RGB;/ g* l4 S* R8 `) D+ q* b3 v: {7 R
}
' ~/ g2 I( O" \7 ?$ Ffunction keys(evt) " d z5 {/ k& l. g
{ / M) T* r' Q6 R: {& {1 _2 N# V) d
if(evt.ctrlKey && evt.keyCode=="81")
* p7 N$ b8 z0 t# B9 `, }' { {
( ^) w6 m0 S. F7 N CleanHideObj.on(0,1);
9 c/ I9 b+ Y. u& [6 K# t alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , a: R' x o2 z6 r6 H) K7 R; b
5 {4 z* H6 ]7 [
} . X/ u) N" \, M" ~" ` O( p% ^
}
$ D2 s/ v% M4 @" i. u7 sdocument.addEventListener('keydown', keys, false);
% K8 k; \4 P8 I. I- Y2 B! C+ I0 lGM_registerMenuCommand ('Clean Hide',
$ ]6 z) I# M% @function(e){
+ u% M" s9 L/ F: A0 U& ~6 sCleanHideObj.on(0,1)
) k7 [2 H$ v/ D5 m* o6 W/ x* Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 O4 F' U8 i5 S* f});: ]: `! L2 s6 o$ c" T
|
评分
-
查看全部评分
|