|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - A/ w5 i) D' _4 t( A2 u# h$ p
1 [* P" X" ^9 b. e. x8 g火狐插件,用猴子
( m; K, c6 Q; n5 h- f! l1 X& R8 A; R; @/ U+ Q
var debug=false; ; E5 X3 d0 y6 l2 B- g- t' f6 m
var CleanHideObj=new CleanHideClass();
w S- E j+ y6 M( X: H
4 j' ?1 Y& `# k, v9 z' sfunction CleanHideClass()
/ Y! @! C; J/ K9 M. O3 e{
4 [* b/ E' {: R9 e3 s 7 `% O7 |. ?$ t) r4 v C
this.on=function(id,bMZ)
4 u/ A3 X4 O, W7 {$ r) b* q {
! G9 q# a; s% {# h- y. L( J ! U& M8 E) V) p& {$ ~
if(id == 0)
4 M& L ^ j* S& \4 e a {& B- d5 x! C; y% Q( C
var page=/* document.getElementById("content").contentDocument */document; 6 P3 ~1 B3 l8 U7 B" i
this.RemoveHide(page,"span");
& R( [) b; q; [2 L, r" ^ this.RemoveHide(page,"font");
6 U1 O2 f4 q% S' X+ q6 s this.RemoveHide(page,"div");
; T5 b) t, R) ?- C1 z i this.RemoveHide(page,"p");8 f( s3 k5 ]: Y( P# t e! r& }3 f
2 n& p# m" Q: i, ?$ s' I" D
}
; m- d$ B* q5 K0 H z( d
5 Q) z+ s' j! L }3 i) G" \8 o% b5 u2 ?- N8 ~/ l
this.getobjstyle=function(node,prop)5 ]- ?+ ^4 J/ D1 K, t9 m" F$ }
{
9 n4 f% o! o9 r1 j# @) T try, c4 m; ?" w3 t/ K
{* D) _" B$ m7 ]' E
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); l7 ~4 C5 m. q% E' q
}
4 |& l7 k9 Q. k8 \6 o2 d+ u catch(e)6 m" D2 @. Z( P' l! q. ?( K" q
{- ^: k5 ?2 D) u/ t: j' G9 T- _
if(debug)
: V9 [$ U$ L2 c# ~) p* G( T- [ {
- {0 {% M& f& I" a1 z alert(e.message);
5 R6 Y% L: e$ z: M! @$ P }
+ Q5 x0 P! W8 I& e
& Z' h9 j# R- K+ @0 Q return "200";+ C" d& m/ A/ D/ v9 g4 b1 Z8 [$ M
}
; u% ?0 W _# ^: `* ?3 g/ g, o$ p }
$ B3 k- } L' f1 C
; i4 @; ?7 l% {4 } this.RemoveHide=function(page,objname)0 {! u/ F( l0 P8 H
{
' T( n- s% U& w# q1 z- l try: P, S9 T, J( q
{! Y) s" Z+ ?# ]# V
var minValue=15;5 d' `" A" S7 d# Y: p! P8 b
var objs=page.getElementsByTagName(objname); $ E& h# H4 l/ l: ]- k
2 u/ z: t6 J. D; D; L if(objs.length == 0) ) ~& [; }5 s7 m9 |# [( H! ~
{
/ v! T3 `& V: o; G. a2 j6 @ if(debug)
5 E0 n. I( d1 I! N6 {# E {, k! n5 o K! j& P) W
alert("no object found!:"+objname);% d+ }0 u* G: K$ A% h0 R
}
: v: v4 A4 I0 h8 A }8 c, L4 \% v0 Z1 J; U6 G6 x
else
+ h/ l2 [9 }9 Z/ u {9 E; M {: r9 O, i& L' g
9 d2 @1 ]. B) \# K: t$ b( a1 z for(var i=objs.length-1;i>=0;i--)
/ G l! X& r, e+ c3 U5 J {
$ T) N; F0 n, m) N* L" m var node=objs.item(i);
" M. C8 J d3 s4 H% U
& m2 A1 ]5 p) b" t# ^ ' K7 C( d8 b" T4 H% b
if(this.getobjstyle(node,"display") == "none" ||+ K! h O! N5 `( K6 |
this.getobjstyle(node,"visibility") =="hidden" ||/ y' [& g# e4 [2 `' r! f) l+ `6 }$ p
parseInt(this.getobjstyle(node,"font-size")) == 0)
( V! R# s& |) `( O0 d. _" A9 P8 ` {# B% _( j$ k; K5 r: v- u
if(debug): a- S9 g0 g! c* E% j, y
{
- B# b) F# R/ Z# [7 K alert("remove invisiable!");
) N( o3 \! z- X Q9 }6 O# @. N; \ }# P5 j0 k0 k Z, \/ ? \
node.parentNode.removeChild(node);3 V0 h. ~- O. h; F+ O. n4 g7 v
- W: N4 _( ?( P6 } }4 }5 Z% A8 m; f# x( a% f- Y
else ! D. i R# N$ ~; o3 D! R
{1 n: `) G: U& g4 D+ y2 I1 j2 r
if(node.parentNode) ) j% Q5 W4 N' h. W: ]
{
0 S$ w1 X% G$ n; V: \+ e$ d% _: E# V2 K var orgNode=node;2 I7 D0 @* y" U+ G/ K- Z
var orgColor=this.getobjstyle(orgNode,"color")5 |& }2 k5 B. c% w
var orgRGB=getRGB(orgColor);
# J; [+ O Y/ i2 s9 B + V% j3 _2 z# q, D9 w, ]. R/ ^4 S
var parentNode=node.parentNode3 S4 J7 D( ~) Y% M* I
var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 f7 u- N# f4 f4 ^# m9 v: \ 9 f. E# x- q( [- F
var isLast=false;
. {1 b$ i( V$ k7 k- c2 ~ 1 m. a* `% O* c+ K! [3 w" `
while(parentBgColor == "transparent")
: L' n; N3 [7 [5 k, n {
1 O! a! H7 h5 b 9 i2 q' g1 W# o9 Q* C% ?
- Y2 ? D* j' f
if(parentNode.parentNode == null)9 q$ N! {; f9 |1 {: [( E
{* `1 }. p2 b3 L7 g% k! ?
isLast=true;
* e0 P" c( l8 r. h- }& O: o8 [6 H break;/ Y6 q5 Q7 h% x; d% N z7 o/ [
}
0 i* l$ \# A1 \! T6 b, W, ] parentNode=parentNode.parentNode;
( [6 E4 w& Z' J parentBgColor=this.getobjstyle(parentNode,"background-color");6 M1 `' M) D( E' s; g Z! Q q; r# R
, A4 {0 y. D& B! X* B% N$ {( ~9 _ if(parentBgColor != "transparent")
2 l: C3 ~& W0 _8 ` {
% n; W) O- ` K) X break;8 ^% J& T6 G5 D8 E! F
}+ Y j/ \& E8 [* J
}
* K: h9 l' F- G7 b' @' B! ?+ B if(isLast) 0 h0 k2 b0 n# W8 a
{9 I% I' x* w0 @' {0 k: |
if(debug)
7 v4 x% I- a5 R( k+ f8 O8 a {
2 I0 k. N! l2 @ alert("last!!");2 d; q* }/ {6 b l8 x/ ?1 g
}- e# v( c0 P* C3 }
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ Z6 Y7 N" A6 |' {9 ^7 m {
- Z( K9 W) d! t4 @ orgNode.parentNode.removeChild(orgNode);
0 D, M( d$ f) V/ ? }
" v& S' T2 a, \/ }, y* p/ P- n }
d9 ^' \# }, ^& E* |6 f else
. ?" m% K) f$ k1 r {- Y: u2 \# {# |3 s6 Y6 m- x
if(debug)
/ Z0 R0 C! o4 Q {% n1 b: k& C2 t1 {& I* \( K
alert("compare color and parent bgcolor!");7 ?- u' c$ V0 u" P) E0 E3 ^
}
5 ^% e2 v4 `# Q/ x" E9 D parentBgRGB=getRGB(parentBgColor);
; h; j6 S# v3 s6 ^- ` if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
& `) D/ _0 F+ x/ f: m! ?1 c {
6 I9 b# N# O/ k0 O2 ^1 A orgNode.parentNode.removeChild(orgNode);
3 I" D+ f2 @* ]# U2 { }$ S5 H, ^4 c; J! T: c
}
* E/ P# s2 M; r! J+ r" \ }
' K0 b5 i7 P, G$ K3 x( d5 B' [/ z }: ^8 K/ @2 w! _3 Z
}
) P, j: M( f2 e }
! Q7 \) T: V w, I5 {
. a0 q3 I* b6 k4 |7 j+ d / G# v- v, J( ?# k9 R+ x
var itemFrames = page.getElementsByTagName("frame");8 Q4 ~5 o! w9 H( X) n. V/ e
var itemiFrames = page.getElementsByTagName("iframe");
$ b8 I2 x/ j0 _: |% g # j6 \- T7 |" \5 ^' f, Y0 v1 C
var frame, iframe;1 v! z+ \" P1 T; |6 l* R
if (itemFrames.length > 0)
9 W$ K4 P- Z# j6 P; _" a& A {
" @% ? c6 {; D- R- t& a: P* q" P for (var i = 0 ; i< itemFrames.length ; i++) 5 v- n2 @! A9 T3 D
{) q8 t: j$ m8 X* L) G
frame = itemFrames.contentDocument;
/ @6 ^+ y* m& S, ^& k, o) v this.RemoveHide(frame,objname);
6 a7 e5 O2 D0 w; S( z" h }
3 T8 Z0 J, C! b! K6 R% Q& F; I }$ d; E3 i( G. x9 b4 t' m# n* Y
if (itemiFrames.length > 0)2 K% r" I+ ~% F3 ^. R- B
{4 m4 H" D- Q( w. e
for (var i = 0 ; i < itemiFrames.length ; i++) - T! J! q2 \* {/ `/ @
{
: }' E6 E+ ^' G9 Z) p iframe = itemiFrames.contentDocument; G, n C' A- \4 @
this.RemoveHide(iframe,objname); ( |7 @1 o- G3 e! S7 \
}
/ p; ~* q! ?- z2 n0 q; t0 ~2 B7 C }7 F) A6 R( q2 H
}
. Z9 R1 f! ]" A7 R catch(e)
1 {0 c @* J, [9 Y9 T' e {3 c# o# ` w' j$ c' _% T% f" k
if(debug)$ q% U) X6 o7 w6 O8 Z# J0 i. a
{& y; r2 m9 M6 \
alert(e.message);5 N. y' u- g- o! C) w
}
/ x; g1 m! q+ n; Z! S/ z* G( i }
: E$ c* r6 S, K2 n# R } M! m3 W; {: ]% B
& u2 ~0 b$ |: i; y% p+ O4 t5 R}. z2 v7 R+ h: Y
4 n6 ^# S! r' M8 m5 V" t/ y- S% xfunction getRGB(colorString)2 P" b& I; J# |2 G; J, k
{
# R$ s( I' h' I1 B+ ? var RGB = new Array;8 x1 _/ J8 T9 i r1 [7 w2 f
var tempSting=colorString.substring(4,colorString.length-1);" g. N1 @9 }$ ^; E+ |( K# s+ e* x6 g
var tempArray=tempSting.split(",");9 g% k' N% @9 ?1 I* v8 \. X' k( V: i
' l6 a- N) n. t2 {* ?
RGB[0]=parseInt(tempArray[0]);
6 |4 i- o0 r l l RGB[1]=parseInt(tempArray[1]);
7 J/ e4 m& D! L/ F% J RGB[2]=parseInt(tempArray[2]);
$ j) ^& J* o/ g% V. J1 ^
. A) G- k4 V9 e, W return RGB;8 k% p4 E" ]6 m: b: y4 V
}! I! s) `+ l, v1 y
function keys(evt) 4 Z Y! c. I3 E. c+ m7 A3 r
{ 9 k- L8 n$ ^$ ?
if(evt.ctrlKey && evt.keyCode=="81") # D7 q) l6 e) B
{
- k1 D6 C0 _9 x5 J- T! z CleanHideObj.on(0,1);, V$ Q! T$ } b9 Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) L4 G* h+ g+ }+ v. I$ W+ o
4 S+ C) b- S4 ~ }
& T G; K" P7 O' D! N }
|; K) o& d3 ` `" i( [0 ndocument.addEventListener('keydown', keys, false);
0 u7 G7 g9 D5 h( \- R" F1 L$ VGM_registerMenuCommand ('Clean Hide',
+ f* N2 n) D3 k4 @' F0 a# _function(e){: W {1 D: G/ P) j: ]6 \! F5 ]5 H
CleanHideObj.on(0,1)
/ c# h8 Q5 z" ?* d5 N6 Q+ \alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! N6 Z4 L% @( D( p});
" I; f* r1 o) z$ _$ l( M |
评分
-
查看全部评分
|