|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
" x# `5 y4 P W+ x* b7 A ^( x! e% c& U8 T) p$ `: `* F# z: d
火狐插件,用猴子8 | m, X. Q& m3 z) v
1 K9 {" a- D' b, w: F
var debug=false; ! K, i5 t' Q! a" ~, @) o8 P, }
var CleanHideObj=new CleanHideClass();
$ V7 U5 k$ V. B4 ?/ A$ |5 s; t3 T! R9 y+ y6 q
function CleanHideClass()
. x! i( \3 E+ d& C- O+ }{
6 A: u* F1 _/ n& B+ X' Y3 H- e : ^$ b/ O- X2 I' q+ O+ X
this.on=function(id,bMZ)
! s4 Z G8 Q/ L! e. B& d# Y Z {& {- g- E+ H0 }( M4 j2 O0 j! L- w
, U9 v, j2 c9 v7 d% [ if(id == 0)
/ b& Z' L, _7 e8 h0 m0 c {3 L$ ~ K3 G0 M" M5 |1 k1 a
var page=/* document.getElementById("content").contentDocument */document;
* l8 t3 ^. M3 {3 |* X this.RemoveHide(page,"span");* l$ H4 u% \% i$ M. A4 [
this.RemoveHide(page,"font");
+ w/ Q& x+ L6 K V this.RemoveHide(page,"div");' d( j" e( R8 a" b6 d0 I
this.RemoveHide(page,"p");! W L. z M/ {# n/ N2 X7 j: [
2 m+ |) w( Z* x4 l8 t/ G" j
}! t7 B5 m7 F# i
( j" R6 G N2 t+ h }
' d: H( U2 f5 s- A this.getobjstyle=function(node,prop)( X5 @ C' x; m+ m- P
{
E6 m7 J$ v* L+ f try
" {% A; S6 W6 ^5 K { ~9 M8 _6 v9 z. { Y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 S# O8 V- O* y" v8 [ }
5 n% X8 m# E( ~) @7 E7 e- ]2 K catch(e)
* z! k4 A, V. A: y% k {1 s" n0 g, }0 r! n9 v0 s
if(debug)
: k: w" n# S/ [7 e& d {; A I2 j9 _/ T5 P. P
alert(e.message);
3 }; L4 Z; Y7 R }
5 ]% v: |$ S) A. X+ m2 c % K, C9 j# H2 q, q3 _
return "200";5 S4 E+ F, [8 U# l+ D
}
7 F# S- v3 m6 \3 ^: o }
. {- C0 t$ E9 r% A; q : V- ^3 {% S' O5 `* F9 N
this.RemoveHide=function(page,objname)
. ~6 [) ~4 X: n$ I* G7 P, `' C {
$ Z3 s: P) ^1 G, K% g try* q/ Y/ A- \5 c
{" U4 r9 f" Y& p7 t
var minValue=15;* [9 i; o. g) A9 u& \8 y5 u
var objs=page.getElementsByTagName(objname);
# {: b1 ^9 h' p: H$ `& b
' k* O9 z9 h+ l; I: z2 e( s, T) r if(objs.length == 0)
( ]1 i. O/ V: v2 W0 v. v* n {
' h0 Y8 x% w2 q( y' B e; Y \ if(debug)
/ K% `8 V! D8 q7 `: F6 d# l; @$ c( x {0 }7 Z( W" G* g; x+ m! }
alert("no object found!:"+objname);
3 v9 l# `! o M; b0 Z6 c }' x; H, m# x% a' q0 f% X
}- J3 j) T& W8 i: y B" \
else
8 v9 d+ A2 }2 C$ y Y {
$ m2 Y4 K4 D T2 K
* R4 R# C* j2 i& k1 f for(var i=objs.length-1;i>=0;i--)
+ d9 T- o- \; R; c. V2 U$ B {
0 k* a$ i# {4 Z$ d1 j var node=objs.item(i);
/ r% g9 m4 J) X( K8 a0 g+ g: l
8 Q3 H1 S0 j0 P/ A / K. _% ]: I! \- l/ r! C" P! n- [
if(this.getobjstyle(node,"display") == "none" ||
! H: y' e3 Y, c' H* R& _% q this.getobjstyle(node,"visibility") =="hidden" ||0 B! {: I4 B; d) W- u: e
parseInt(this.getobjstyle(node,"font-size")) == 0) / a' e. s W. Q. y% |
{
$ u6 m7 K$ Z1 ?7 i/ h if(debug)4 `1 U% v8 A q* J Q
{1 M" v' G: F! A- _ _
alert("remove invisiable!");
3 v9 W* r- Q4 T4 U; K/ t }
+ T ~* x, p6 V1 d; a node.parentNode.removeChild(node);
9 s, d" `8 r* w* _' S# t $ ]9 ]" b4 b, r4 x
}) L0 h0 L5 U9 r% }5 D: {/ w
else
4 @ z/ S- f" u/ m' M4 T$ R {4 V2 N* u. D1 H0 ]
if(node.parentNode)
" G! h, i) r4 j {
) g4 i& D: e, j var orgNode=node;, h- v) `* S+ [4 g8 I; o
var orgColor=this.getobjstyle(orgNode,"color")
6 _+ }! Y( l* M0 V var orgRGB=getRGB(orgColor);
' a4 W. D: Z7 J2 g3 D Z$ c
. Q$ @8 u& K% [- o; N var parentNode=node.parentNode
$ l0 ]: N5 m7 e7 O* l var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 X K. f/ v0 B3 [* r, z
- T# l+ ~3 J0 C* o2 Z, t var isLast=false;9 K" m- P7 U3 \6 q! M
% \9 t* a: C$ m% R- k9 y- I$ Z ~ while(parentBgColor == "transparent") , V6 s: w1 c4 h$ @3 G2 t+ k' P
{
+ b; q+ `" h, i' H' |6 x9 Z/ S" M & u& t, l" ^# Z# f, @
$ `) E' X% i4 I' c" g% K5 @
if(parentNode.parentNode == null) I; d/ g' S6 f" R
{2 w) Z5 `4 `: F( ?% {7 v
isLast=true;' g( z, o' @+ ~; A. p3 X9 k
break;
) \6 N- m }7 X& P }' \; d y$ z" |9 u
parentNode=parentNode.parentNode;# a( \ F1 f4 ?) z
parentBgColor=this.getobjstyle(parentNode,"background-color");
( }$ B" n( i' k& l4 D! L8 v# Q+ a0 P @% r' f
if(parentBgColor != "transparent") 7 L9 D# q6 s( |$ M/ P6 J9 T, O7 k
{
% G' ]$ ?( n) B5 G- o- M break;
" ^+ f6 }; p+ S& N6 P) H }
' V) p! {( ^* X+ p, J# P" C }4 y x- f0 S1 f1 _
if(isLast) 6 c7 R/ M6 N7 F+ U" `
{
, a$ M, S& K/ {, C, _! y9 | if(debug)
W4 o1 B( `% R* V1 B( t& h, T {. ?! E) W0 ~& O8 `" E- M5 {8 @7 h
alert("last!!");- h/ p( p1 f( u# o
}
$ O3 a! u6 U" v if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! u; R0 L# I0 Q$ D0 n: n/ q
{. O8 ]( [3 P5 D
orgNode.parentNode.removeChild(orgNode); # z& v( r" U3 \, S6 p1 e% t
}
/ f3 R# E1 C% j0 h* g+ X }
( Y5 u3 k$ x; y& B: ]# |* @0 q else: D$ }0 M0 ?5 i& f2 p
{
) k K. @* c3 ]! `+ b0 q if(debug)4 [+ Y* ^, A' m# ], g$ X
{
) |: b! E3 w+ m0 q2 V" K0 V/ @ alert("compare color and parent bgcolor!");: _+ h" J3 P. J% q1 [
}
- G* X5 f; a5 O/ V4 Y8 T parentBgRGB=getRGB(parentBgColor); U7 w4 M/ _/ o8 f2 {" o
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
, J }8 ?, t* T0 @" E' L {
8 G3 b7 Z+ Z- K% m, Q; w( m; M orgNode.parentNode.removeChild(orgNode); ' @ |0 l" z/ b! |# ~# g. W$ d$ D
}
6 d" ~- H' O0 h# e4 q+ W }" `* N" b; V4 \- J m8 m* p
}
) ]/ \8 q, l8 k' E" A7 ?: z }
8 X) N j- v* z" h% h4 S, Q6 | }
x5 B' }/ ^0 r( h% m }
1 b0 h9 ^/ L% {# H, [/ y
! L2 V, v0 w: w9 [' u- B1 |/ E 4 t0 m' c2 \. L4 ]8 k" I
var itemFrames = page.getElementsByTagName("frame");
. ]* a: l1 O! W* D) ` var itemiFrames = page.getElementsByTagName("iframe");$ i! G2 j( F4 w
: G8 z4 e! O: s' @# J$ |
var frame, iframe;
) }# J3 ^) K1 K2 d if (itemFrames.length > 0)- n& b8 e! j1 d1 r4 ]1 ] w/ @" {
{1 ^2 K( G) p9 K! ~8 C+ v7 i2 s6 v
for (var i = 0 ; i< itemFrames.length ; i++)
4 R, G3 [9 h6 _ u2 ? {7 N# S+ R* d9 `* d5 p
frame = itemFrames.contentDocument;
4 O, ~; V$ w' M; d* _- D this.RemoveHide(frame,objname); 3 k1 h2 P) b. \! L$ E( p3 A
}
; G0 c( I1 a5 }/ P! D. I }
2 l' W0 W8 ^* [- b2 e6 L: ]/ w if (itemiFrames.length > 0)3 Z' ]4 V% L1 u
{/ L* L* g3 K+ i, D
for (var i = 0 ; i < itemiFrames.length ; i++) * I5 y5 K5 P4 v% s
{( }2 L6 i2 T$ V e
iframe = itemiFrames.contentDocument;
( f( |0 I9 R* O8 M ~5 e this.RemoveHide(iframe,objname); ' ]- a/ N% O7 d! n: @: R9 ~
}/ n* ^/ ?( g/ s1 }, j
}( V9 V: r5 U, h( D/ {* |0 U- }
}
' x9 s6 n" S+ ~4 F% v catch(e)0 I4 U' R+ g- m% Q' _ s
{
0 P, d. c+ {2 N+ S$ N7 Q, e: S if(debug)& k! {: r, i# z# | y
{+ ^/ _) H( o4 c! G1 l
alert(e.message);/ p0 J* E/ W" e7 X I, f
}
5 V$ M; m2 ?+ d4 |8 Y6 y }
6 H" A% [3 W% p7 j9 s: e } r% C+ k; C4 ]) V o! ~# t
+ x( _/ {: G4 n' r( V7 g) Z
}, v" l( P T& d2 z
! e ~( x% d/ }
function getRGB(colorString)
$ j4 C h: w( X# X0 d# P0 H{
" K& s+ x- h% h+ w- Y var RGB = new Array;6 y+ g3 Y- k9 k3 z5 d
var tempSting=colorString.substring(4,colorString.length-1);
! }) R1 [% Z' @ var tempArray=tempSting.split(",");
9 U# F8 {" v- p4 P
. C* h M# ]4 [$ d' w! d1 V RGB[0]=parseInt(tempArray[0]);
8 k( f" X2 W* w6 P- } RGB[1]=parseInt(tempArray[1]);0 b" E# y0 P- E* R, i
RGB[2]=parseInt(tempArray[2]);
" ]! `; X) S/ } : l* b Z- {. R# I0 i
return RGB;
3 w: L, ~& V0 U( N8 ?7 a4 k; `) | x}
/ y1 i; l# ?& N- l0 d" Afunction keys(evt)
7 W. T2 m1 R; U7 @3 o( h, K {
* F9 M5 f( O3 L, O1 B" ~7 c/ @4 Y if(evt.ctrlKey && evt.keyCode=="81") " Q7 K) n" u5 L5 }1 @+ x$ J" ^. s
{ # W% `3 ^" l9 i; t7 O& [7 R; [
CleanHideObj.on(0,1);/ W* g6 |7 w, s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. P' f+ @4 m8 s% F # t, i6 m2 o4 i# m- L, U; \. n+ w* S
}
+ X/ J' ?/ B& f( @ } 2 N& n4 u; C8 L% I3 _2 o0 n; n
document.addEventListener('keydown', keys, false);
1 V1 P, m/ B! O2 EGM_registerMenuCommand ('Clean Hide',& U6 m% l8 @- @: W, v% ~
function(e){
5 N# C( f. R( |6 U6 y* G7 |CleanHideObj.on(0,1)
" |# J+ o. R$ A$ t3 S3 D2 _alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 l& k4 Z0 u S" s
});
* \0 }% O# j. F3 E3 z2 R; A8 h |
评分
-
查看全部评分
|