|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 O* M$ o: X* F& i" M# P& v: p8 F0 ~6 b$ v9 R4 b4 L. j, D2 Q
火狐插件,用猴子( n' Z! N- a w9 J
- z% v" v8 q! b9 @var debug=false;
& r2 [! J/ E# Rvar CleanHideObj=new CleanHideClass();- k7 w; \7 a! ~, F
* F4 d# v( z& h" c' f* h+ u7 Z7 ]function CleanHideClass()
/ `7 D& n6 n' S{ : H3 P! X4 A/ u1 s B* D( @+ f
; R6 D6 |5 {& }9 G. O! N2 ], h this.on=function(id,bMZ)
+ n4 \- D8 [1 g0 M, ^) M {# a5 q0 ^! x2 T9 {* S& E/ [
4 R5 K* C$ @$ B4 m `, R
if(id == 0)# A, k+ X' w- y1 m N/ _% L
{# f% K, |: c& I: n n2 A# y, g
var page=/* document.getElementById("content").contentDocument */document; . Q& f7 i7 @4 E5 `; d
this.RemoveHide(page,"span");
5 I7 O4 v0 ~; S this.RemoveHide(page,"font");9 j& i% f: v! j' N2 g& `
this.RemoveHide(page,"div");- r: j: Z! ], M, I; g2 S( |
this.RemoveHide(page,"p");
2 `! {( c) b% F/ ?: f % n% F1 @# Q7 u$ r) `# @ v
}# i7 d8 u% a% E
- S/ }/ h/ Z1 { }: }6 f& N* F: Q
this.getobjstyle=function(node,prop)# s, e N; R9 x5 v9 G ? z* H
{
- _8 h- r) b0 |- s- T3 B try5 E; |0 w1 R! v
{
4 N% ?% B# u! ~; Q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 j2 m) y, A6 h, y, {1 ]
} @2 G5 @) C) W. F. {, |& {7 f V
catch(e) T% X% @; ^7 r; R4 ?) V3 i1 E% F$ t
{
. A# p3 P: O! n: [" e6 R if(debug) D7 \4 r& y2 ?7 n5 V% b+ [
{) ?, ]( P# x' [+ _. m6 E3 k
alert(e.message);
6 i J1 x; R1 V9 J( B }4 a! ~6 A1 f6 C! k6 i8 r+ y4 G" v
5 Y" U) {8 v( v7 K, [ return "200";
m4 |; D5 ?: I0 W2 R }
5 \3 e- V5 P' D \ }
, I0 b3 x3 U( n) m' Y; b
6 P. \& s5 R7 B( [ this.RemoveHide=function(page,objname)
$ h7 o1 @$ m% P: I& i {, H2 E$ l9 T) c9 k8 i
try
# ]# y( Y4 n$ L- B, R+ N# c {
1 a$ Z$ c' `( a1 Q/ K var minValue=15;
6 Z& b: h9 a1 S6 {% N( e var objs=page.getElementsByTagName(objname);
" e0 V! |7 T0 w) R7 C2 }2 U! ?
: T8 c- d, u! L9 `4 B if(objs.length == 0) , S; w& g( C/ e' W# W3 _
{
# R' @5 o$ N8 O/ P& M1 L0 C if(debug)+ m: ^5 W, i3 O2 {; M3 F
{
+ O. A) d8 v" a# ^4 ]4 m alert("no object found!:"+objname);& q) v+ t8 v4 B
}/ `; A- D. ?+ W
}, k1 X" x' O) @% t' G- L8 I
else
. ]% k+ I9 ]" z {
* S9 a \ S$ r7 X% N & F: V+ I @! T9 E1 \' G+ x
for(var i=objs.length-1;i>=0;i--) 6 N$ ~( ?" f y! \ z
{
4 P, ^* [- R2 }. ]" K9 p* q var node=objs.item(i); ( n) o% G! O8 f C2 x
8 w" ~$ y8 F; O - L9 }0 T$ o* l( J
if(this.getobjstyle(node,"display") == "none" ||
/ Z% S! I( j% V/ B3 v! j this.getobjstyle(node,"visibility") =="hidden" ||& e: \- ^: G$ @& d4 ~4 M/ l
parseInt(this.getobjstyle(node,"font-size")) == 0)
- h( f2 F$ ~2 d# R5 p {
) }' Q, W- ]- h& H if(debug)
$ |" D% M+ W; P/ S% n# K. R6 g {
, `! b+ B! {- y' v p2 j alert("remove invisiable!");
9 r: e8 w6 h0 n5 U/ Z }
+ H% B) B$ K* p. l# g1 @ node.parentNode.removeChild(node);
. ~- M2 t! B' U8 t. o
/ c0 s) |, g2 j: C/ B* X }
# B0 s Y$ x; ~5 @ else + E' D: j7 @( m
{; I0 J- L- @- q8 o, S9 @1 x
if(node.parentNode)
# l1 e+ P# y! g1 F' U' |" Q$ x3 g* u {
" i8 p2 \, p0 t5 I" ]4 s var orgNode=node;0 _# |2 S& s- p/ O( u& ]
var orgColor=this.getobjstyle(orgNode,"color")
4 k# h9 e( N' D2 n0 X# j8 d! g: \' x var orgRGB=getRGB(orgColor);
) S* \( A$ |& Z3 ]/ w) \
' R6 D& c% }% Z1 { var parentNode=node.parentNode
/ n' D* ^3 O+ \& w7 ] var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 O5 ^. ]! q6 a% _6 V( Q/ v7 Z. K/ I- G
8 f W8 k7 L4 T# ~! w var isLast=false;8 ^( d5 }+ X; v& G' O! `, c
" {7 }9 n% h: C* | while(parentBgColor == "transparent") ' i$ P9 C+ C% r1 l6 ^& _
{4 i' ^3 ^6 G- |8 {$ B/ G" |
2 L- e2 P6 J6 b6 a! e
7 K, w1 d5 ^7 L# M) g if(parentNode.parentNode == null)
9 z8 q3 v4 n% R6 w9 M" i {
# `# G$ ~" }9 D+ |( o7 ?( z isLast=true; `' {1 o( _! m# r
break;
+ u8 @# C: w L3 n8 {% F- O6 o }
7 o0 d* E, u+ E, h: M. p* i* X parentNode=parentNode.parentNode;
& D' L& A( ]+ P& H+ j parentBgColor=this.getobjstyle(parentNode,"background-color");
& G& Q' N. r- X" ~4 S- |2 y( v; q
9 [" C% R" m& F+ u if(parentBgColor != "transparent")
1 R. x5 m D D' _ {
" S# C r, v9 v9 q. I3 d1 a" p break;
/ N2 _5 _: o* @, T1 U }, }% g1 {0 {3 d8 R1 P i* `$ d- k
}+ f% O$ O' M" H) O
if(isLast)
( M/ V0 V: I9 w8 v7 h c {
2 ^( e. v! u; L; F" G if(debug)& \- C0 k+ D1 T4 @* [: b" Q
{, h% r% t `. ] ]
alert("last!!");6 V' ~' y7 o9 C9 N
}& X/ h& ?+ ~+ c- ?% j( F7 x
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
6 Q) M9 Y) |/ i$ L$ H {) v) Z4 Z# _; r: k. [0 }
orgNode.parentNode.removeChild(orgNode); * ]! O* e' S( K$ d& t
}
( D( w$ V1 c; ]! g3 d }
6 O0 W9 Z( p) B+ Y7 x6 w3 N else
& O; Y' A8 v+ E/ D {
8 i: s/ ]: M* f7 @0 Q if(debug). o. g6 P+ X( h* |2 ^0 N
{
* X" C% r( r2 x q1 c& l alert("compare color and parent bgcolor!");
# D8 K. P# a* d) Y2 \5 W8 U }) ~' L; N P8 U+ Q, ]
parentBgRGB=getRGB(parentBgColor);( {; A6 j% s+ I* d+ n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. v5 W0 a& A+ w {
1 R* C9 x4 M1 n! U$ u5 N7 W5 @; _: J* } orgNode.parentNode.removeChild(orgNode);
0 H W7 \* ~ b5 ~( D }! i" j% O" ^* ?6 {. d7 d7 j: E: q
}4 d- r! @% Q* y2 _( |! z0 {" l
}
4 c: {1 h5 S6 S: L; r Y* b }
( [" j; w4 Q0 b( e. G2 r }3 J' x, Q- H! m% S8 j# I$ l0 o T
}
9 _# c9 n/ U4 c6 f5 n d6 ~% V1 V" \
4 H( q& k; U' n var itemFrames = page.getElementsByTagName("frame");4 Q* P& A/ u2 w0 t
var itemiFrames = page.getElementsByTagName("iframe");4 F& p# w7 n; K
J6 ^# u% g: s: u# T! k
var frame, iframe;
* j" }' _" s$ @: v if (itemFrames.length > 0)3 r6 Y2 N8 v6 c0 V! R& o) P$ c. y3 p
{! d( s% N; g1 T- H. J
for (var i = 0 ; i< itemFrames.length ; i++) ! X0 g, Q! |; k; M/ K3 S
{
T" @# v' C O6 ?; N. x2 c" ]" [. d) U frame = itemFrames.contentDocument;0 I" x6 k1 |- V8 U
this.RemoveHide(frame,objname); ( l2 E- v, [7 u' }+ {" P# G% n! _. l
}
9 E. ^0 b- T; W, ~+ A6 L& E+ S }
" C6 b; c" A$ h7 _4 G if (itemiFrames.length > 0)7 v% ?6 Y; a8 Z7 R. {4 S# ` Y
{8 Q6 l9 W- a$ C" T6 s9 R/ p
for (var i = 0 ; i < itemiFrames.length ; i++) 3 k2 R3 E" R3 `
{
2 p5 {! ]2 t& M9 o- G/ a7 r iframe = itemiFrames.contentDocument;
& D1 ~( ^) {0 j this.RemoveHide(iframe,objname); $ f3 l+ }' H6 u, m/ r0 x
}
5 |9 d6 E4 ~' Y9 ?' T1 [ }0 l( R8 [* b* O
}: o+ T4 x! A7 c- S
catch(e)
) \' _: t- P1 ]- \& K; q {
" Z& d6 i3 _& g& B* h# r if(debug) T) f! E) {: U' s( M
{
5 i4 `( E4 r" G alert(e.message);) u- ?% E2 a3 y( u
}
/ A: N; [+ W! c5 R }
# k! E; x( @5 D# j! O. f }0 q$ Y$ |2 g6 y5 _. D7 d
* J) v) Z8 g* {6 ^/ f
}
2 u+ f/ v! M u0 y$ p& U9 K) P0 Q2 r
function getRGB(colorString)
) w# X3 M7 Y4 t8 R; B2 r{- L/ d5 n6 ?. b9 e' N4 }
var RGB = new Array;
3 v n" G, F2 L* E var tempSting=colorString.substring(4,colorString.length-1);
; V$ V/ [/ a# h2 x5 @ var tempArray=tempSting.split(",");* _! h+ i# O5 s- S2 k# ^2 A5 G
, M, Q0 u; R; y |5 u# N RGB[0]=parseInt(tempArray[0]);* K8 M) c {+ p# K
RGB[1]=parseInt(tempArray[1]);% i) Q$ B4 ?) Z
RGB[2]=parseInt(tempArray[2]);
! M" O+ Y( P1 Q# R1 G% c7 m" V
7 G4 i7 Z0 C1 N. K6 D4 x7 ` return RGB;) M: u T9 E2 ]6 Q0 Z% P
}
: j: K1 Q% c6 S8 |- ]: e; mfunction keys(evt)
: k4 o5 |! S" V' ^* j {
/ u1 |8 n, D# Z1 m& Y! u3 u if(evt.ctrlKey && evt.keyCode=="81") ) t' T/ j! I2 }5 ?1 A
{
! u9 v5 F* r% o6 I. l CleanHideObj.on(0,1);
5 @! L( s- _8 ~$ C. |# `4 u- v alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& j+ `/ H; z! ^9 v/ }7 r& H' U
" Y( Z2 Z1 f7 E4 V3 g# R+ X# T } 1 q8 j4 ?" u v5 w1 n9 A
}
) X( V, Q; F# `$ }" F) p6 Cdocument.addEventListener('keydown', keys, false);
- {% @5 Z1 L) VGM_registerMenuCommand ('Clean Hide',
% o9 @2 [" q& _3 w( g5 mfunction(e){
3 f! A, c! L, J+ nCleanHideObj.on(0,1)% p5 L) D7 p5 G
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 ~& K, k/ l: u5 m' S& D0 X/ c8 ~
});: @: S. }" _" v. b9 t* H$ [7 \
|
评分
-
查看全部评分
|