|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ s9 D; z+ o8 S7 c# ]- N
8 _! a) B! r8 @( V: a: K火狐插件,用猴子
) R) G# x) h6 j& @% v
) @' Y4 M+ D" w0 P7 {8 b+ gvar debug=false; + ^0 x7 o; u6 W# I
var CleanHideObj=new CleanHideClass();6 b# D& i7 A a! [! n
5 O$ o9 K% P9 c9 x) x2 s m! x2 \
function CleanHideClass()
$ b/ p, O0 l1 G- U0 n' j* p# @2 h& Y5 }& w{
) q& W9 A/ a0 `4 { % X* j& p4 Q" O% `5 \( T
this.on=function(id,bMZ)% E4 e0 b5 F% T
{
9 Y- A. v7 i F0 \& ?( ]
+ K- g4 e5 w9 R) t0 h' E+ H1 ^% D+ O if(id == 0)
3 n4 I3 N3 [7 M3 |! w {
( E/ g! D3 R# }; d% H var page=/* document.getElementById("content").contentDocument */document; ' g# ^) m& t8 D g/ S
this.RemoveHide(page,"span");( s& y2 A+ j4 a/ b1 p
this.RemoveHide(page,"font");" a/ ^! d1 G7 f2 z( p$ s1 L2 p
this.RemoveHide(page,"div");
1 x2 a; J+ M7 f" u this.RemoveHide(page,"p");
) U+ W* ~. k% b. H& a
: c' O$ O. I' }! B1 P& p }. p4 d1 `9 Z* o( ^+ O
+ M' E' z+ H2 `, z6 f" P& g
}
! {! B1 ?% `5 K) Z this.getobjstyle=function(node,prop)
* X; z" D) i2 S. _, ^, h {
! X9 P; v; E& Y3 ]1 c: l- B. v try! C$ G% C4 E3 {' [
{& T8 }% j6 O( L- ]" Z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ H- ]2 u F; S8 `/ @7 x
}4 K- w4 u* M$ H0 V9 P
catch(e). U' [9 E# A) i/ B/ {- @
{- z9 S6 n S1 K
if(debug)
' R) k: b9 I) Q- x2 ~ b {* u; G/ ~# T7 E) M% Y7 n! E5 y O
alert(e.message);% ?: H8 U. i7 ]: p7 p
}
. y9 Z/ q4 w0 G. a
1 C9 r* x2 |: k/ @4 o6 b9 O5 R2 E$ v return "200";* S3 f1 T( u; Z, S0 i: v$ @
}5 m8 t( }5 G+ q8 S; p( E, `2 T
}
* O5 s9 Q: ~, G + x, ]- B2 R, c% Z" f" X
this.RemoveHide=function(page,objname)! e$ D6 G2 I' Y
{$ r( G- R/ [$ i% @. R+ @
try& }$ x* C9 c* o' V! u
{
6 ~: l! ~% R) \! g \ var minValue=15;
2 @, Y' q& [, F' x* Z: P5 } var objs=page.getElementsByTagName(objname);
+ f, W. `2 p7 \" [9 c1 A5 r3 ~# F. g2 P4 L/ x4 Y- H
if(objs.length == 0)
) l. v2 @% Q5 K& _, a {7 v' p8 D5 n8 y
if(debug)
' l7 B4 Y3 t2 y9 |* c( J- |; H( } {
4 j w3 A8 Z5 ]% f6 \: ~9 y; ]0 E alert("no object found!:"+objname);! ^' X' z r1 x( y) r: y7 P9 C2 J
}
0 x: G, [* Z! R% d7 L) _ }4 \' r# C8 n# b+ S7 t$ W
else
( _" R- Y0 ]1 v/ j {
# y2 v1 Q) k+ t, Y7 a
+ W4 D+ X: `# z | for(var i=objs.length-1;i>=0;i--) 6 r) E6 l& s" \' j6 i
{
5 Q2 K) B+ b \, z6 Z var node=objs.item(i); 4 q, _/ v7 t3 L+ A" t8 ^: i
2 e$ v0 o' c; s9 n3 u* T- j : ]0 M+ B* s3 U8 T! W8 b
if(this.getobjstyle(node,"display") == "none" ||
- n# Y: p! ?! Z+ K" {" [. U this.getobjstyle(node,"visibility") =="hidden" ||8 h6 r* ^/ U( R3 x( I3 q& R( {
parseInt(this.getobjstyle(node,"font-size")) == 0)
0 j- } W8 Q" E {
N0 c; y% k0 S8 K" ~' ` if(debug)0 K& v. Y+ [. H J0 Z: a i, i
{
9 F6 e* N6 u: w alert("remove invisiable!");2 t" y& a$ h# H& a; J) t9 U
}" K4 p! b3 g! x- O H( L* B
node.parentNode.removeChild(node);0 P7 j: C, F( i- Z2 x# H z. s! j
@! V1 i4 h0 `2 c }
9 t5 m+ \4 p8 p& p5 Q else 4 z C+ p3 n% y
{
5 {; O. W+ d3 f% n# C2 E# [, k, d if(node.parentNode) 7 C) J" Y+ W% h4 |! P9 N+ W8 ^1 s
{7 s- k# T: q9 g4 g
var orgNode=node;% P# s; u& d! s
var orgColor=this.getobjstyle(orgNode,"color")
- D+ m1 O- p& \" l2 o' H8 g var orgRGB=getRGB(orgColor); ' ]' |- m; d1 a, E" D' Y7 ?
7 I" n) i7 L1 z" d+ h9 S+ b. M
var parentNode=node.parentNode
. m3 L. h1 I$ a2 ~5 y/ K1 Z var parentBgColor=this.getobjstyle(parentNode,"background-color");. s9 {6 Y1 P; G, S: g' o1 D
, g8 b0 m% X# U& X1 b var isLast=false;
# O6 \. U0 i) h7 r" |8 z
. _: v9 G& T1 ? while(parentBgColor == "transparent")
$ b/ u6 }0 |; Z# `7 Y {
; j( V. u7 L& T+ f/ f+ K : h6 M5 {2 C+ ?
- @/ B& i, |9 K- H( I% }8 `$ p
if(parentNode.parentNode == null)
1 G6 k, I5 ]3 P3 T0 K! c- O; h- A {9 y" L9 o) b; \4 @) D% s# J; f* M
isLast=true;6 J) t% F4 Q0 o5 `9 L
break;
% t& u4 B: a! t0 d7 u4 f$ a }: |( z, i! J$ G# O2 t r
parentNode=parentNode.parentNode;
" }9 k6 ]; ?2 | parentBgColor=this.getobjstyle(parentNode,"background-color");4 C& B& k1 @8 o# v0 g7 f
7 m8 u1 M9 d2 D n# Z. | if(parentBgColor != "transparent")
; `: P4 W( d4 s9 p0 J. t {: j5 D( I9 H {7 _2 c* r: I7 F
break;) J. y7 K+ {! [) ^ k$ r& z$ J
}# {' {" D' l, w: i6 y3 K
}& w, F( s3 ]% s5 V; S
if(isLast)
" v2 X# l" w. R2 O0 h {% c6 l. u3 n& G' O- c
if(debug)
* i0 W1 V2 K: F- F" y5 A0 D9 @ {; W f# J/ Y4 T! g
alert("last!!");$ [% x1 r5 Z' Z" I, c
}/ I, x# f, X* e9 f& f3 w: s! ^
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) `' d0 l8 p- r1 \
{: [0 t! _' N# K; I$ ?. U& z$ t
orgNode.parentNode.removeChild(orgNode); 3 ^) ^ ^# f; b
}, H1 @9 @7 I6 ?$ M1 o
}
! \. y; A; |: V/ z) E else- j) l4 u) A T* F8 v" z
{
8 F- K- D' z6 \# I; S' f( M if(debug)& T$ F/ ?; e. K* z$ b
{; ^. j! X$ Z- M6 R/ x
alert("compare color and parent bgcolor!");
" c9 _; p$ x5 n& T, i, l/ B }
5 P5 |* e2 C, \' T! f; r6 [! L parentBgRGB=getRGB(parentBgColor);$ S r+ m9 W/ [2 O) F$ \* F
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))8 t/ M0 R9 L4 @; }2 i+ B" r/ R
{
# ?+ T6 d N5 Q orgNode.parentNode.removeChild(orgNode); ) p6 E' Z4 p& k1 m4 y: ~
}
% c5 d0 d0 ^2 {( s }
8 ?( h' S6 z+ q% Q }
6 m2 h- }" [/ T' q }
! ]5 {! Q; T' w5 l, O }
/ J0 o/ w) x; H/ o3 E }
& W, F$ n* @' x ) q' q/ M9 T% w) h, w" S k& g6 s# r
9 S0 W$ t" l2 t. x
var itemFrames = page.getElementsByTagName("frame"); a2 x6 p- N/ r6 E1 @" V
var itemiFrames = page.getElementsByTagName("iframe");+ `6 ]; D: o4 w/ {, ~) ~1 ]7 f
, A: L( Z3 k f6 K# [ var frame, iframe;; }( c2 j) E& V! K/ i. ^0 R' J
if (itemFrames.length > 0)
9 ?* s& V; Q1 Y. }" l& c" b/ ? {
& e6 Z1 W+ h& l for (var i = 0 ; i< itemFrames.length ; i++) & ]2 S' r2 s; x8 W4 w& n9 j: h$ c* a
{
/ U3 Y9 V0 i" j; x6 k frame = itemFrames.contentDocument;
& x5 l! ?9 D" C+ C+ b3 ~# G6 x this.RemoveHide(frame,objname); , X/ r# A3 f! [% S
}
9 q" [/ t- X) Y3 ^5 u9 j: y }
' a3 P$ {( I+ a* A if (itemiFrames.length > 0)
E5 P( U+ `: Z4 R! t" p) K {
1 ^0 @: O5 k D! K' H1 b for (var i = 0 ; i < itemiFrames.length ; i++)
1 R4 o/ M7 v/ E. L. P( [4 M6 s: f {) o" ]2 B0 }8 Q7 l- {
iframe = itemiFrames.contentDocument;
1 a! ^, f2 w6 M, a! |0 T. J this.RemoveHide(iframe,objname);
5 W' r" g1 z5 s2 E, q; I7 B: k }
. c) ~2 a8 }. H6 I+ ? C5 P }" i# o) C8 f$ d4 T
}
& q& S0 k! _% ^9 \7 [ catch(e)7 v' N: w/ K9 n3 Z
{$ ]9 u$ ]2 b- Z" l7 e7 y
if(debug)
9 A* n0 b$ B q" S& G& Y! I/ _" X0 s {
' \; j9 q! e9 U! X2 x# i$ w alert(e.message);
q- C3 N3 l" I2 _% q5 ]6 z/ t. @ }
% S6 ?0 K+ J# U- N' |, g }. d7 E$ N' V- K$ J$ F& Y# @2 I
}" b: G0 {- m3 Q
: s3 h7 G( n4 C: j}* ?, M! O6 E* N4 ~. a4 `2 C( I( k# A
! f1 C" C) y2 `3 kfunction getRGB(colorString)$ u. G: d* D5 ~- J, O; q
{
" ^! ?; k) u' m! ?1 K var RGB = new Array;
z( g' R6 H! w5 g; i# S- U var tempSting=colorString.substring(4,colorString.length-1);9 }5 F& A' q/ b8 [, }7 R
var tempArray=tempSting.split(",");' x" g6 o$ U3 z$ s0 |
, u) L: p M: a9 [0 @1 ]4 _3 \. n. h RGB[0]=parseInt(tempArray[0]);
1 g* L' q, X- M2 x p3 n RGB[1]=parseInt(tempArray[1]);
% E# c* x6 m! }0 h7 h: L9 z RGB[2]=parseInt(tempArray[2]);% H; S+ b/ B9 K2 ^4 Q; K6 c
7 L8 a" T1 H) N7 U return RGB;
5 ^. i! H" [; \, b2 z}- w1 z; A1 }) N. n. @ h
function keys(evt) ; A4 O! q& P. f# G" |, J0 t1 t5 F
{ * h ]: X7 d5 a, w4 k& ~2 `
if(evt.ctrlKey && evt.keyCode=="81")
: g6 h5 X, _( C. t9 Q2 U {
$ O( ~ j4 n; q, b CleanHideObj.on(0,1);
: t2 X! S7 z/ n" t alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 H: Q0 ^% Z/ j 3 d% e5 e+ y7 F' n& ]+ i& k& a
} # j5 n( Z B; P% b! y0 o
}
4 @/ p8 j: q- p$ ~9 m. _document.addEventListener('keydown', keys, false);
4 \8 `) Q- V. ?8 e/ wGM_registerMenuCommand ('Clean Hide',
% L1 i5 r, u4 x& k2 Qfunction(e){# A9 n% S3 v" G6 k( v. R6 s& W6 W
CleanHideObj.on(0,1). _) I' ^1 h% Y7 v) y; E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% Z, h3 g* x$ s8 k8 m});% ~4 }, f5 e5 p; c" W- G( V9 h6 e/ M8 ?
|
评分
-
查看全部评分
|