|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 S: V4 z ~4 m5 W
1 q8 f9 {, m5 ?0 R4 q& V火狐插件,用猴子
5 j/ F5 h. g1 W5 h
( ], l: x2 J3 w hvar debug=false;
2 u; ]* V2 k. E+ r3 Pvar CleanHideObj=new CleanHideClass();5 c( V9 }' ]* H9 @' ^, W
, _4 u8 `) `% a9 {, Z( lfunction CleanHideClass()
, S9 ^. }$ k+ E- E/ l{
. i- a& j+ @$ D4 G5 V
2 x% n. y2 c/ L; g& Y. T, t: B/ y this.on=function(id,bMZ)
6 B1 E# t* H8 m5 E) M# W {5 ]$ u F4 E, Q4 w) x( E* h+ `
! O/ l/ q" k/ c6 I" |: j if(id == 0)
* B& I0 L, z* N" i8 f1 Z2 f1 l {+ H+ Y3 H3 y, D2 F
var page=/* document.getElementById("content").contentDocument */document;
* \. g5 _6 J& e6 f- H. O this.RemoveHide(page,"span");
: O* S3 F/ _- a8 f+ H- C this.RemoveHide(page,"font");* u" y. \8 I/ T J& x, v5 }
this.RemoveHide(page,"div");
( v9 d" Z) e) E8 a this.RemoveHide(page,"p");+ |- P0 e1 }' H- J7 k e4 A
" Q& P4 `1 s+ } }5 s' B1 o) V) o, p
/ j6 ^2 N4 o* X: n }1 {8 @/ X# @7 E) H& E
this.getobjstyle=function(node,prop)/ `1 u- r1 f+ R7 q6 W
{
C4 K8 p+ J/ h' q; o try
; ]6 m: s; W6 \& j3 R9 ~ {
* E- }1 g0 w5 j& o return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' Y8 _, f2 B1 q8 a
}
# k. n8 v: v. Z catch(e)
; {! v( q7 u: m5 Q0 f {7 z+ r, W+ f- J6 n/ H% {" S1 y- D& r; r
if(debug)
1 `) n1 ]( t9 D8 Y/ J2 O* d {
. u8 M7 v' b+ v" M& _ p5 ~ alert(e.message);1 T }+ f0 ~5 d3 ?1 L$ _/ u
} N5 A% ?+ Y! j$ L$ Z
9 r1 L- p& B7 y5 ?/ I return "200";6 z% f* M" N+ H% S( T, f& j1 s* r
}2 K& ^- \& y- O+ q. o1 g
}
4 Z: [" S. f/ s) N " [+ Y2 C. K4 p+ t+ ?" u
this.RemoveHide=function(page,objname)
; t, j( b' A4 { {
1 T* ]0 o3 `9 g P try
- t5 X8 ?& X9 [8 P5 Z7 E {* F$ T {
1 }) i6 e e* V8 ?9 h3 e) k var minValue=15;
# y/ I1 F0 v3 }- M. F8 t) Q var objs=page.getElementsByTagName(objname);
$ Q* K5 g8 l+ r7 T' p: b, }" }& L
6 w( \7 u2 \- ~6 c1 n if(objs.length == 0) : ~+ l' }2 y2 a3 P8 R
{8 g4 t' U4 F. f6 j
if(debug), @( s; j4 D# B& t, d
{: f# i3 T( ?- f4 L) i
alert("no object found!:"+objname);! z2 }: w' n' q; T% R+ F
}0 J% u3 X# r0 d( |) G6 y+ l* [
}# M; l" x8 c* ^1 l5 Y5 X
else/ b& ?- ^$ |! _) m8 r
{
8 x% P: r: j8 _$ r # Y# }2 e. u0 @* G
for(var i=objs.length-1;i>=0;i--) $ v0 A7 V+ V6 b& b/ G
{, @! b% V0 j7 _* E# ^# Q
var node=objs.item(i); + I5 i! R1 n' V4 x6 H. P
: T7 b9 [ \7 S
4 g L, z& C7 Z0 M if(this.getobjstyle(node,"display") == "none" ||7 _) O2 `/ }% k4 m8 e
this.getobjstyle(node,"visibility") =="hidden" ||
6 G% F. U) L* O parseInt(this.getobjstyle(node,"font-size")) == 0) : }! o/ a4 I( P. E+ |2 O4 R
{
8 A" ]+ ~5 f8 D/ B6 w if(debug)3 @$ g- k8 x7 }$ y) t
{
6 W6 M+ y8 p. c) ?. K- O alert("remove invisiable!");* o$ S" J$ _% [$ p+ B
}4 N! P: Z! ?/ K6 P3 g8 ^
node.parentNode.removeChild(node);2 o9 A. d6 j; a# X1 z0 \' d& K
7 m. o% k$ G1 F3 j7 P# [) q& J }6 r" J' K7 h4 T0 a' f/ p7 z
else ; N8 ?; M. V; o. b" B2 p6 l" J/ m8 |
{. Z9 U1 j4 x. y3 X) [ W2 R# \
if(node.parentNode)
. B' X1 U. Z2 s& K! a {6 {4 z) b# [2 `* c0 P g+ l
var orgNode=node;9 h, t& {' j9 n; V
var orgColor=this.getobjstyle(orgNode,"color")! ?, G' U2 F( u; X
var orgRGB=getRGB(orgColor);
1 T' `6 l8 q' }2 b # [4 A5 D% N; `4 \% C
var parentNode=node.parentNode9 P, Z' M c6 L8 Q6 c' \3 p
var parentBgColor=this.getobjstyle(parentNode,"background-color");
, c0 k7 Q2 k+ C8 j7 o8 l# p
7 N- {. I" T) C( T: Y var isLast=false;
+ c) Z. d( ?0 C9 {, @; d8 m 4 E; ~* {. n/ M+ f; P
while(parentBgColor == "transparent")
' O3 T& v0 A% d2 F {( _" F4 r& e* y! P
" D7 c6 A, `/ Y- U& [( [
; C6 T2 G' m' d9 N* U
if(parentNode.parentNode == null)
5 }! w1 f* m. p5 i {0 \$ P5 A/ h- l. j; R
isLast=true;
* L' h8 z! s$ j8 y& `( M5 i, @. N4 ?" k break;
0 O4 s: q$ }' @+ V' Q* b8 h }
+ A# m6 F: P$ [( X: H% ? parentNode=parentNode.parentNode;, z. \7 }& j7 `- i
parentBgColor=this.getobjstyle(parentNode,"background-color");
6 J4 s6 c8 L$ |) j8 ?" q4 a
! e- ]3 F& X# A. C! p if(parentBgColor != "transparent")
2 O1 ~/ n( U$ A1 K, K+ [ {: _' D* {) Z- `; A) O; p
break;
& j* `7 { A3 @. e- Y }
9 y4 K. Z# F, P' S' C! e8 f5 z }
- A- b7 C& Y0 Z5 Q9 I if(isLast)
# w9 [* i4 P+ I$ L! u8 Z' e {* e5 M4 z5 s; x
if(debug)
9 d5 u0 E+ J. o1 w9 b- U {4 k7 w! [( [# }) _0 `$ j5 p i
alert("last!!");4 s3 [7 R( J. F4 l) u3 e1 G/ R
}' c9 S1 I" }+ F; _; Q* w$ t
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ Y1 W4 N. W! R/ I9 w" Q {/ }1 P8 K/ m5 G8 `1 f
orgNode.parentNode.removeChild(orgNode);
0 R* J+ r; J5 ?6 W, {! G }5 L. x" ^: }/ x& T1 o
}
1 [; L# q0 f7 g2 d else
4 ?# H. t% H! M8 S {
/ M* }. B4 C( O4 x( n9 O if(debug)
% D+ X% ?# i" P, k8 Q H! n6 ~! W {
- v' O1 k5 b4 Q7 o" w' ]9 J alert("compare color and parent bgcolor!");
+ u( f0 ?$ c \2 u5 m5 S }
) R0 f% C/ t) O parentBgRGB=getRGB(parentBgColor);
9 k4 W6 J+ P& C if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 q: s9 ?, w* V4 x: t
{' E, g% k, @" j0 H
orgNode.parentNode.removeChild(orgNode);
& y/ l5 g$ R7 M# w& K' N2 M }
/ ]- S& H9 \# H: ?8 t! S0 Q }! l# I q6 N& c; c% N& L, q
}' \) H9 T: t7 ]. i- f: O
}
+ P8 D$ r4 g% @% [. b7 p# z }$ K/ \, d9 H8 j) l7 M. G
}
; Z/ F4 U ?9 k& {
% @. c' b) s6 J: W " n/ _( C$ N- d' J
var itemFrames = page.getElementsByTagName("frame");4 {% `, s. O9 M6 {
var itemiFrames = page.getElementsByTagName("iframe");
3 Y- Q1 G+ g& Y, r+ k6 W0 {9 j
" L. V6 X2 z# H1 \7 E$ u, @ var frame, iframe;4 c1 B, r1 o! s& G W
if (itemFrames.length > 0)" E1 J9 z$ [, Y# D
{
8 t/ m* |+ z! u7 `( V! r( G for (var i = 0 ; i< itemFrames.length ; i++)
' t9 ]+ v6 o+ l8 m9 p9 a# B5 Q {
% N8 C5 b+ m; p6 [3 q6 ? frame = itemFrames.contentDocument;
& y. a9 N8 G# ~8 f, z( r- j this.RemoveHide(frame,objname); 7 [2 [0 h4 o Q
}+ r+ H2 {: l9 w5 X- j3 w5 O
}
: v1 w' F4 N* I if (itemiFrames.length > 0)1 |: b: @$ H# h5 p
{) x% K5 h3 S2 ~
for (var i = 0 ; i < itemiFrames.length ; i++) 6 v9 \9 M' a" m- v
{
$ T2 k: x0 N! J iframe = itemiFrames.contentDocument;
8 M+ C! `* {: Q1 z& Z; c1 G/ f( [ this.RemoveHide(iframe,objname); $ F+ w: s' x: N4 ?) G3 I
}( G0 ?9 R; ]% K; P
}
0 L2 s5 X1 E: v8 y& \ }
+ e; V5 }2 Y; p/ p0 y& R, M catch(e)
) }% N& U! g! W" ]5 N' Q {1 N# M! u9 R" _: c
if(debug)
$ V) t9 E8 |# r3 W, D' ^ {# O1 J' [! T- L- }4 E. Y
alert(e.message);4 b( {1 f: v5 i4 |8 \/ o6 |
}
0 e; R! ^. ]. k9 l/ e }9 ]* F) c% v) F1 v% u/ K7 C/ f* F
} f( Q& y0 P, h! ^
7 C. N/ ]& T$ R& W
}
; W" B( W! P8 D% p! F
: K% g( c! s/ [* Q- m+ c. xfunction getRGB(colorString)1 t- t2 A" B8 f2 K: s
{( B/ Q3 N) z# F: ?
var RGB = new Array;
6 t# B5 `2 }, f' `! O var tempSting=colorString.substring(4,colorString.length-1);
/ j% L" R; p$ k* h var tempArray=tempSting.split(",");
/ V; b, K3 l7 m4 ?; m. l: l8 b
0 w% f, {. b5 P RGB[0]=parseInt(tempArray[0]);. ~) \# x" i; f3 D
RGB[1]=parseInt(tempArray[1]);
" n! M: C& C( ~, ` RGB[2]=parseInt(tempArray[2]);
7 z, J* ^, i! }% J. ` + c9 r0 [* |/ |" W
return RGB;5 O6 x1 K7 P$ `
}
4 Y: R$ w. {3 i! Tfunction keys(evt) 7 r5 K) U& c) @
{
. c# @1 Y) |# H) u" Q8 C e7 V: W if(evt.ctrlKey && evt.keyCode=="81")
. t4 W( \8 U! i { 7 a' r( J8 M/ a; Y; c8 ~; t
CleanHideObj.on(0,1);( d2 h1 W7 ~# \( r0 p4 ^( g$ H; X9 {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% U* g9 l' _% M( U3 m4 }3 X
J5 T- p- f3 u } ' l5 o7 ?# x1 W: F, ~
}
/ R7 s# `5 c$ V6 }document.addEventListener('keydown', keys, false);
" ?. X8 k7 N0 d, j% u6 lGM_registerMenuCommand ('Clean Hide',
, A. U* i; D; ]function(e){6 P8 d# b6 P6 h" F9 L
CleanHideObj.on(0,1) p1 w$ M& Z, M# t5 h, t" D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 D9 r$ ^* d5 I, K2 \( ^& T' C
});
% q g% C) H. q) j6 E5 u# f" @% s& w |
评分
-
查看全部评分
|