|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. y6 K) q$ i( A/ H( u1 @- z; q* w( m
火狐插件,用猴子4 i0 v$ N3 A- w0 K/ C3 @! }
$ T6 e+ t/ p# M1 _, \* t" C
var debug=false; " u5 X) R8 \$ e/ A1 p
var CleanHideObj=new CleanHideClass();
' B v# G8 I+ x1 H. J6 N- x; N- i1 w' a/ I9 a6 g3 @; V
function CleanHideClass()
) k/ E6 L8 S+ N{ ; S- k1 F( A5 a2 X' E$ L4 v( e- z
' x! r3 ]# }4 a8 f- M2 F9 N this.on=function(id,bMZ)
+ m4 [3 t. r0 J {
; M% q- A7 B+ P, S1 v/ @0 u : U/ R% F# F5 K8 w) A
if(id == 0)
/ @' L! l) A' B { s% P* R" k6 G6 W3 Z; @) [
var page=/* document.getElementById("content").contentDocument */document; * z; l8 a6 ^' t) h5 i
this.RemoveHide(page,"span");
/ A+ x; j" J/ e+ j1 N: k) X0 N this.RemoveHide(page,"font");
2 I3 x# k; g' e/ T$ T/ J this.RemoveHide(page,"div");
+ |7 W& ]; @6 @4 p, y this.RemoveHide(page,"p");2 @/ g# [, {2 o+ L4 q) Q
1 b+ {3 |+ F' A; d7 Y, l' [ }2 ` v4 S4 I/ [3 O0 P
) z; V, y$ s9 B" ], b2 H; e/ u }- H5 [. V2 `! o5 n, k
this.getobjstyle=function(node,prop)( v: m( K. l7 \/ w
{( |! w. X1 a, J0 r0 d( p
try
6 D+ v( Z, D& t3 H% ]' P' L {2 N$ V5 W" |! Y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 J! K8 o$ E7 R1 K. U; Y) W }
/ Z5 b7 `- ^5 ~6 w( r catch(e)( l% n: I4 |# T5 f$ m! K5 z
{) T( t K9 K/ {0 o) u( `" M8 k: D
if(debug)
6 e: G2 ?$ ~+ n/ J3 @ {# z Y8 i' c$ a) B H% Q
alert(e.message);
! x, G8 A2 W z+ S }
6 v& u b* C4 {* z G d, b 1 i" B# t6 |+ s2 ?6 l
return "200";
" F, N1 w$ q# N6 _0 t }; p/ o0 z+ a9 f$ b' [1 p% p7 G
}
9 u8 {5 e# G* `& _4 U3 y! j ) C2 n, W* h) E6 W6 F# l
this.RemoveHide=function(page,objname)
3 k/ l$ F0 i4 ~, Q {
% X0 K& z0 g$ G5 R% w+ J2 m try* ?: T9 J4 z2 a, P8 I3 }
{
' M" q. q5 X1 }4 N } var minValue=15;
# P2 P& G2 l3 a- D. Z! F var objs=page.getElementsByTagName(objname);
5 o( a y. z* d2 {" h D+ M4 t2 h0 a" _' L5 |8 k
if(objs.length == 0)
9 L2 p* a, V* a {" K! k1 _/ V2 k2 U2 e3 ^; h
if(debug)7 h8 M% v6 }/ K
{
d+ \+ n2 r5 t! X5 V; c! j alert("no object found!:"+objname);
9 x8 f- {4 t: R( X k, t; G }
2 P& U* q2 c [/ d( `; E0 @ }
3 o! E) I7 S- q, M5 i6 d: m0 G else p7 j! k( o2 o8 z
{( X' E+ ~! Z7 I0 t" k- i, t
7 ~: h" I* L* u' S5 ?/ t$ R/ @ ]
for(var i=objs.length-1;i>=0;i--) & u5 v% s$ ^/ X5 v1 y
{$ `" v( K1 H5 k) B$ y9 j
var node=objs.item(i); + q# [4 E0 N1 {* J& _* R
( B! t( Z' ~) Z) r2 o/ v
/ R0 Y1 P H5 \% V) {0 o3 I8 b9 s if(this.getobjstyle(node,"display") == "none" ||" X, V2 S9 K/ f) F- x( v0 s# Z
this.getobjstyle(node,"visibility") =="hidden" ||" E0 W! s8 [# M
parseInt(this.getobjstyle(node,"font-size")) == 0) ' Q$ @: w3 E7 A7 U" s- i% Z+ m3 c
{# ^6 M' g: p- V! s* Z' ^# t
if(debug)
8 P4 T# P8 q2 N/ ^" e {( o* F- L* U' j& z5 f G
alert("remove invisiable!");
) ~+ j& l7 ]2 G }. K% j4 u0 a8 d
node.parentNode.removeChild(node);6 Y. o }8 A6 h5 Y' k
?# F1 I# F% g% g* g! h }0 A' r1 C0 f" O5 T( X5 t2 |+ `
else
# E" v: y, C* w4 {% y {! U7 W# N. V; Y/ J
if(node.parentNode)
" u1 E8 G' B# p1 b {" @" ]) P* O* h" @
var orgNode=node;3 s7 C! r9 A7 m& {2 ~- n
var orgColor=this.getobjstyle(orgNode,"color")6 Q, ?3 f& ]- Y$ a4 f4 j
var orgRGB=getRGB(orgColor);
" C: g! a+ L r) t9 c
2 v* U* d4 ]% _4 Y1 N var parentNode=node.parentNode% W, e) Y. m' E" T
var parentBgColor=this.getobjstyle(parentNode,"background-color");# x9 K7 R8 {$ X. h6 {' x' F% {& M! C
2 I4 R8 U, h8 k9 u. [- ~ var isLast=false;4 @/ p6 l0 v9 H& N! ?+ ]0 F( Q5 x
, Z/ s' T5 i6 l! v
while(parentBgColor == "transparent")
% l( J; E+ [8 |( ~ {
' j3 k' C* f: w% C . _0 x3 z' Y4 n% [) h
) l# z ~; m2 g
if(parentNode.parentNode == null)1 { K7 k! n( x# V. @* D5 D/ O0 b) O
{
) O- Y4 ]) l1 u @* o$ [ isLast=true;
) p& B7 j3 I8 O3 x; n% I break;
$ E* Q4 F# m h4 p }$ p( x$ u( h0 W7 a3 t9 u9 L
parentNode=parentNode.parentNode;
# k" }! P8 [7 W parentBgColor=this.getobjstyle(parentNode,"background-color");
: w% j1 G7 G6 e% @
; ^( q, G' T# w1 J if(parentBgColor != "transparent") 8 z: x6 Z; o+ U. V9 p, l
{* q% l; T: S% ]& A1 v5 \. i
break;
: G* f/ g" x3 b* ?# ]" c }; k' Z0 B% c5 @2 _! l* d7 Q
}5 [0 v) n0 X; }4 Y1 I0 j
if(isLast)
; W3 [- b- w7 M) H6 ` {
, o/ [6 f9 D! _& m3 E2 b4 m- `; a if(debug)
& G3 T2 ]2 _6 _" `7 w8 f8 N; H9 J {
: b4 y a. }6 l# q! T! { alert("last!!");! c; ]1 |7 Y% t+ Y
}4 X5 b, }4 T1 o" a
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))$ k& }5 r7 x+ E+ J6 i, H
{
u) o" P. M0 x' U. a( s orgNode.parentNode.removeChild(orgNode); 7 Q1 T' c4 G0 q6 s! ^0 Z
}
- Q: H* B, |6 {2 ? }
& z! U0 r y4 ]1 Z! L3 ~9 R+ n7 o# @ else
- A# H0 b& J0 Q% S+ G- ` {4 Z( k% f6 y) G1 A5 m! S; `
if(debug)
) H" E' v7 v8 P* b7 m1 r2 @ {
7 ]1 [8 G* L) w: C$ _3 \9 R% K; I alert("compare color and parent bgcolor!");! G. P) e1 C1 e7 [1 }. |; c
}
! X( F [$ i) e parentBgRGB=getRGB(parentBgColor);
; I* ` I% I& y+ x if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))% P$ Z/ Z W4 f o# e! ~3 h
{
/ x$ g$ z$ L# D orgNode.parentNode.removeChild(orgNode);
5 n' Z: c3 _7 W9 K7 f) y5 t }/ v; I; E$ |6 e/ J: P) N& T5 S
}$ F0 @; u0 o C$ }, }# y
}5 ^' L. ]5 Z6 D( \& h8 J
}
- w1 B' s6 K7 O' o9 @7 R( n }
5 A( F/ M8 V1 k }( `6 U$ {0 G) f
7 v+ w+ J; j+ P2 X2 D Q4 M: J
% B; ~; h* [5 ~- E0 L/ C9 C" E$ j
var itemFrames = page.getElementsByTagName("frame");$ S# `& Z8 c, x4 D' _
var itemiFrames = page.getElementsByTagName("iframe");. Y$ {$ Z9 t. D
, }7 A7 l9 w( }% g4 b
var frame, iframe;
* P, ^$ ^2 H# b9 ]/ C if (itemFrames.length > 0)
, L4 T" b7 R. Z/ V @; ~+ U3 m {, d- Q. [# G: ` j
for (var i = 0 ; i< itemFrames.length ; i++) 3 v8 O3 s# D7 @; B
{
4 I0 Q: t4 y$ q+ v. l& g* U4 q frame = itemFrames.contentDocument;) d C6 W- A3 N) G; e- e
this.RemoveHide(frame,objname);
' f# n% Q9 M* T! T9 [ }' G. v0 Z. a- n' y0 N, ]4 [
}
9 U0 q7 S4 U6 z if (itemiFrames.length > 0) C1 k4 ?& |- I* l) x
{+ E7 j8 F' I5 g6 S, V
for (var i = 0 ; i < itemiFrames.length ; i++) ) S. ~9 z' O" l" s6 Y- J9 i9 M
{
% L' j0 X5 {+ a& _0 S! S5 j iframe = itemiFrames.contentDocument;
* U6 e6 P% { A0 c/ V% C this.RemoveHide(iframe,objname);
- \8 S7 A. n2 k$ }3 r }% y, j- \8 B# @. [
}
" M) }1 K7 L9 R0 e' G( ^% C }
9 N# W. y9 I% n- F. h: z O catch(e)
1 N- {, [; ]' [, v {
' l2 r1 K7 E# ]& f& @# B if(debug)( Y# @% m/ J8 [) k9 V
{
) V l6 M" P/ p alert(e.message);
/ t- o: p6 w' U0 q5 v0 H }
* n5 b6 f# y& l7 ~ }$ k0 W* F- v" e3 l9 Q
}
3 p& H" @* c( O# N3 x
1 a/ w7 p& l& q: K3 Y$ C5 K& I}
; k: m$ M* u. `
* C+ ]$ Q# Y/ J* m5 f7 bfunction getRGB(colorString)
# t$ u4 j8 }& U% H{
6 T( \" I; z N" V' s. l+ L0 |& C var RGB = new Array;
) E; |5 h* x3 F* C& d var tempSting=colorString.substring(4,colorString.length-1);) s6 s# ~9 T9 j) }4 |2 ?9 i
var tempArray=tempSting.split(",");
; ?# t& K* _( ]4 j* C9 ~1 v+ f7 X. n u$ g
RGB[0]=parseInt(tempArray[0]);. r2 S3 P' Q: x5 w1 Q# P$ l
RGB[1]=parseInt(tempArray[1]);
, N2 u5 } T8 C p RGB[2]=parseInt(tempArray[2]);
0 c( C8 {4 F9 M+ l3 B) O9 d! Z % ]: ]- r, ]7 o& r, `
return RGB;. F3 H0 X9 i- f: U! y1 D
}
) H& W# {, E) z* Xfunction keys(evt)
! y; z! `* q$ _+ {# { {
( V5 ]* ]* r2 Y& \; @ if(evt.ctrlKey && evt.keyCode=="81")
( H# I9 K( Q; d# A {
# N6 }+ V) N; g8 L3 U CleanHideObj.on(0,1);& h8 S* |$ M9 z$ V @$ d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 d7 m* {7 t# R2 H$ d! `& w+ Y 8 f$ T/ d+ r6 a, r1 O
}
+ j3 C, G& l8 Y: R' @8 I }
& y) r/ H7 F; idocument.addEventListener('keydown', keys, false);
4 D3 G3 D7 J9 Y1 ^GM_registerMenuCommand ('Clean Hide',
2 n. \+ x1 s( I( ]6 sfunction(e){1 w* X( E5 x* V s0 |
CleanHideObj.on(0,1)
5 t4 S" k+ f, ?8 W6 Walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");$ k& y! k7 l9 w- S+ p
});
; U/ K3 }$ J$ X; w4 ^ |
评分
-
查看全部评分
|