|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ( [+ e! F4 \2 F: x1 f+ A0 q% V% L
; B9 l9 |! {/ q, D, d( Y
火狐插件,用猴子& G6 `, v/ U2 N# j% Z3 M
" h! v; C( b9 c6 M. b2 A/ k
var debug=false;
G: t# _( M4 avar CleanHideObj=new CleanHideClass();
7 A7 O# }& B/ n; o- y
, I9 ?" f* {3 D2 m0 W* {. Ifunction CleanHideClass()
# M% f6 @( o& Z5 X7 ?. W+ {{
7 l* ]( d0 K' `/ ^, [
9 L. V9 D- n2 V: T1 s this.on=function(id,bMZ)
8 t% q/ p" {+ D0 y, X {' I$ [6 j+ |7 ?% e- A/ d
7 j) _* O, a& ~. F# F if(id == 0)0 W" j4 v: A. X- C; B
{
w; T3 X/ F8 p var page=/* document.getElementById("content").contentDocument */document;
`$ G3 _3 x2 j this.RemoveHide(page,"span");: G! n5 d$ x1 i! q9 J
this.RemoveHide(page,"font");0 ~. F6 [& n4 `8 ]( E
this.RemoveHide(page,"div");
. B: `. M# l% i0 N( ~ this.RemoveHide(page,"p");4 B" w0 I* p0 U, d: ~
0 E& F" \& x7 Q3 T5 l- R4 `$ G2 z1 l
}: v( `3 `' L1 \+ X: j* `7 }
0 B5 |/ l' O9 ^( u! Z2 t }
% ^" Z; V9 b0 |4 p this.getobjstyle=function(node,prop); s' S1 ^3 @3 v. }4 m) V" d
{
5 r# ~" r+ t% j" B' T- q try
9 E! w1 F# j/ O/ a$ Z. ^/ {5 J {
$ W8 a( ^' O& B7 r4 x2 L c( l return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 c) v7 R8 L" k5 ]; ^. n( s& `1 S
}
. n, t2 \' V' c3 y0 k catch(e)
K# K6 m0 \* z, m% ]: z" M {
h" i1 J6 n5 h3 F% S if(debug)
\2 f k& w$ ?$ x* K6 s$ } {& [5 V. Z) }5 B9 g3 q4 Z) G
alert(e.message);
& M2 P- O: c2 d [ }
- f: j; L5 N6 g5 | % j3 }( X+ F( o: e m5 v
return "200";
+ p( J8 z, G& Z) X }! Q3 t; E0 F. {2 v6 J3 b$ d) D" C% m
}, y1 g u3 P5 o" S V8 f' }/ z
. v' o6 I7 ^ E6 T
this.RemoveHide=function(page,objname)% `' p2 Y0 H, R4 }0 ^
{
- I4 g" W, {! c* g' A9 r0 r try. n; m/ v) {. v: D
{, s+ i2 h! q* {1 _4 D6 G
var minValue=15;4 ]" Z( U0 `2 e: K; N
var objs=page.getElementsByTagName(objname); 2 z; M0 e$ p! u! p! ?0 a4 K
( ?9 K! ~. q$ @ ^ if(objs.length == 0)
+ m$ R0 e: L# \0 O {
3 Y# Q4 a. H0 C3 _" a- p if(debug)
C( g0 |6 P. ]- U* x+ _( H( k {
! L) k! ^" ~/ N Z9 i alert("no object found!:"+objname);8 [' d( _: H3 `7 `% I t
}
. @0 k3 I" z6 b- p2 M }
- }! A! s* I, J' U5 L7 y3 R5 Z) r; o else+ h% y( T0 L* w: S& v C) @
{* U+ k: G/ T+ U. C0 l ~4 E
L/ a% g0 W( h8 d for(var i=objs.length-1;i>=0;i--) * q+ s) d5 M& G. X5 B6 N( Y; ~
{
. F+ B6 z$ r1 u3 w var node=objs.item(i); ; A9 { p: X: F# t( ^
, k* K/ w" U* e v5 x. O
! }1 m( U' H# A$ w
if(this.getobjstyle(node,"display") == "none" ||: w% r% b1 g* i% h
this.getobjstyle(node,"visibility") =="hidden" ||6 h; B4 f* y& F# d; T5 X: d
parseInt(this.getobjstyle(node,"font-size")) == 0) 2 j4 t- |: h1 T* b) u
{
6 K) S) \- G M) ~3 K2 l. x- | if(debug) I* n+ o) J# A: S4 a& L
{1 @+ f+ P' O5 O( P5 I; v
alert("remove invisiable!");+ H5 j! i1 I3 ]: w% W
}9 S0 z P* i( Y" A
node.parentNode.removeChild(node);
0 L7 f0 {, n; r
) a. D9 X% u( y% O" a }, \! `5 Z5 i" X( Z7 ?2 M0 H+ D
else
" K1 V' j% @+ y% g- G/ ]! m2 u {/ [: T! P4 s0 A0 H' a- _
if(node.parentNode) % @2 h' t& J* [ _: ^! }- T7 M
{
* [% f6 L r/ T- V: }3 R( z var orgNode=node;: g: I5 c- |7 g4 |
var orgColor=this.getobjstyle(orgNode,"color")* |6 f/ e3 Z4 Q* Z, ]! N
var orgRGB=getRGB(orgColor); t s; k& Y. b8 I4 l( q4 T) g- `" w5 D
1 H2 W* b, k' A/ }6 x9 Y! @: V" _4 t
var parentNode=node.parentNode
9 O0 k6 H! I) Z& N. V var parentBgColor=this.getobjstyle(parentNode,"background-color");
* C* R) e% E( o / l6 X- U2 a" w
var isLast=false;7 C) G5 ^% R$ P* w! b
" ^, m6 S/ P* B: ^0 w
while(parentBgColor == "transparent")
1 c0 @/ q1 ~9 I" E) y/ h7 B {
; ?; m5 k7 x' T) S) \# Z( L. \
$ D" n8 D% b( `4 s! d 6 i+ Q5 d% ^) a
if(parentNode.parentNode == null)- c7 K- |, x7 y/ Z0 L$ C z" h
{
- V5 g8 u: s& { U, ? isLast=true;
; P7 @: T0 L- E4 f, C1 J break;( V8 O% ` j* Y" N6 G& O$ _3 h
}0 R$ N0 ?. g: ]: v: S$ g B
parentNode=parentNode.parentNode;! r9 l! v( V* r7 E) j
parentBgColor=this.getobjstyle(parentNode,"background-color");
7 I; U: `, O$ W4 R# h
" v: F& l6 K5 {7 W if(parentBgColor != "transparent")
$ u/ h$ N! K+ H2 s6 @ ? W {
. [$ |( `& D G& w: e/ Y( F5 V; S0 C! u break;1 I+ O: q. p, [; X* N5 L
}: s9 Z& |4 l3 K8 X0 n. E
}
* x$ z# r( p0 t& s if(isLast)
1 V4 k1 t9 O$ u2 Q, Y. d- l {& o! n) X' Q% U* i# {0 c
if(debug)+ A1 g/ ?2 I5 b4 U
{: m7 V" R, @9 p
alert("last!!");- {& Y+ \* L' t. D( w. d6 }
}
: T/ T7 K( ^$ G' I2 V) U% F) q' n if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 H( g" V4 `0 `9 c: _% O
{+ m/ f; l( a6 s0 @: I
orgNode.parentNode.removeChild(orgNode); & c, n& y* M) c4 ^1 _* Q' z
}
7 O, s: q4 G$ L; A- ^ }+ d/ h, w0 B( T; [2 {( \
else
6 J. r( e( Q; U0 ` {
5 v: W C% f: w- f F! _0 y if(debug)
$ B4 e- }$ c) q {
, M! ?" i1 i' r1 t2 V0 s! J alert("compare color and parent bgcolor!");& B; ]/ }) Y7 J N" Q8 ]1 j
}
. G' f! y/ J" h/ x$ t parentBgRGB=getRGB(parentBgColor);
/ y0 s1 h2 R2 S if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- C) K1 J# C# Z8 {( o. r. v
{- Y* K9 H0 f- I$ u# `- B9 E8 |
orgNode.parentNode.removeChild(orgNode); ; t" G, E6 q" _. D: J
}) o' S% ~3 ~ V& o) V8 t, |, p( ^
}0 o$ F# R$ F s0 Z6 n' r
}: m9 Y: T) z _8 G: H
}
" J8 t: n) L; J9 N) d8 \4 e }
0 [0 l, ?6 u3 ^- E# V) M, G }. ~+ }9 m9 |, B4 S* r) g; F
$ z+ q+ p% z1 W2 K
$ {9 W% {+ @. v3 K var itemFrames = page.getElementsByTagName("frame"); S" z1 P4 `( l, V
var itemiFrames = page.getElementsByTagName("iframe");
9 F7 m. g3 O+ k6 o4 p1 U( w 0 @; l3 r$ c! q" y2 o+ e
var frame, iframe;
: n: ]. t% w7 D if (itemFrames.length > 0)
8 l4 q( J& f, O( g {! D( L9 @/ C* G) U6 ^$ j
for (var i = 0 ; i< itemFrames.length ; i++) + C; s; t" U! {+ t) ~+ T7 E) h2 W9 J
{
1 t) r- p" m6 c0 A* C$ G6 { frame = itemFrames.contentDocument;
: t' S6 G# G a3 v" W7 e this.RemoveHide(frame,objname); h) B3 U1 z# a0 k. H) j' u
}2 j+ K" x+ o t! b' Q$ u
}, @0 M+ ^: @9 V( f
if (itemiFrames.length > 0)
' e' ~- S& f0 J {
% v5 s. O2 c8 w; f+ i: c! o for (var i = 0 ; i < itemiFrames.length ; i++) 0 c6 p* n& ^6 j5 L6 k/ T4 M3 U
{) R4 [9 V' N p: c
iframe = itemiFrames.contentDocument;9 Q% n3 P- x+ r* u
this.RemoveHide(iframe,objname); 3 a1 f$ W/ \; x4 @2 B w1 f& m
}$ \) [. L9 F! k+ x7 V
}% L% t1 c" K; L- D+ B
}' j8 P6 r& v6 P+ j4 E$ E
catch(e)
* {% O% j0 }# b1 v. i6 r {6 N1 l5 Z1 Q# r6 c+ a# ?
if(debug)
( e; M' k8 W5 o! k% X6 p {
" [- D& z1 D5 m- t# y9 x) C alert(e.message);
& c7 |7 V9 Y! H! x& } }
% K: k0 C6 _4 N& Z/ t }* ~% R* P& i' N5 Z" W
}$ s( k" h. D# F# D
0 m& ? i: t8 {3 Q" p}; k6 R$ j @' V/ Q3 O! Q! R
) w# u2 F; Y" u K! _* X
function getRGB(colorString) c2 @8 W+ j5 g9 e' m& d
{
1 `& i" f9 m' S2 k* @ var RGB = new Array;8 j0 ?) f1 v, p0 ^
var tempSting=colorString.substring(4,colorString.length-1);/ I! } u/ [. p# H# [
var tempArray=tempSting.split(",");
p. G1 z3 d9 o% V9 C" a7 ^ l* G% J( ?, J' m( Y
RGB[0]=parseInt(tempArray[0]);1 P& D R4 q0 Y- Q6 o M* h; N; S& w
RGB[1]=parseInt(tempArray[1]);
$ q, _' l2 s5 n9 O. }( v+ l6 n RGB[2]=parseInt(tempArray[2]);
- z) b- u6 [6 S8 J2 `
- I ~/ x, f z5 w: B return RGB;
8 U6 x3 X9 L$ [1 P- r x/ {5 `}
. m3 K( S+ p$ q; g' g4 jfunction keys(evt) $ S. E( A) K6 U" o+ Q) A$ ~8 s8 C
{ 0 |, Y2 _4 b& B% ~& M0 u
if(evt.ctrlKey && evt.keyCode=="81") 2 ~/ j$ j3 o! z# }
{ - H+ B( W* M% M: \8 B3 v
CleanHideObj.on(0,1);9 @) l% n7 [+ v( t6 X1 p; B0 Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 w; Y! g! K/ h X7 c0 j6 z* ? 8 \. z9 k; F$ Y4 K5 H
}
/ P. ]0 w) W7 r8 |+ ~. a2 G } 0 A( U1 V; ]9 E: J/ e# j" ^+ O
document.addEventListener('keydown', keys, false);
* Q3 v% e! n/ R' m/ G5 XGM_registerMenuCommand ('Clean Hide',
% R O% g; k1 _( W' Kfunction(e){
6 b+ S7 S" L! C) {% x* QCleanHideObj.on(0,1)0 u- f, X' J& k/ p( S, x. X
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" S y5 ^$ J( l# g2 x8 k});
4 W: e9 v/ G7 U4 T& z1 q |
评分
-
查看全部评分
|