|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) }9 ^ E4 O7 M7 a
1 J8 m8 v# g( o0 k火狐插件,用猴子
3 n- F* M% p! S3 u" t. m
, e, e- k& s$ z% {var debug=false;
6 e4 ]2 \: W- f9 y1 rvar CleanHideObj=new CleanHideClass();
4 B8 [0 Y) q# y
1 [) v: M r" y, B8 J! Yfunction CleanHideClass() ( p. \$ p7 G7 f1 [( y, z* c
{ 1 z* R* }% [ [" G3 |7 s7 [; r
$ _5 d2 Z+ R" J2 { this.on=function(id,bMZ)
, l6 n1 |( w; P) S+ k. n {
) `- f8 G! B* O0 B0 b+ u# V& C% ^
( ?& J% Z6 k9 D if(id == 0)0 F, c8 |- z, t- H
{+ t. O0 p9 L* C" i
var page=/* document.getElementById("content").contentDocument */document;
1 E' f( n! i, P3 D this.RemoveHide(page,"span");
9 [! e1 e" F/ C% F; Z$ G# i0 ^) r this.RemoveHide(page,"font");2 B% ?' S! t2 U0 k4 R, S
this.RemoveHide(page,"div");
4 Y Y4 E- \9 o* g$ f this.RemoveHide(page,"p");
6 k' H8 O, C6 ~3 O u9 d
[9 D9 j" \) z }9 P3 w1 x) P6 f, y
2 H! u' o: p; p' C$ E | }
( F- I1 q" U2 C this.getobjstyle=function(node,prop)# t( k3 n' S4 x6 N0 l/ P7 \
{
0 b+ w% [7 H* m! I; { try
% u. u W7 e6 L. | F {
( F% P6 f+ E8 O. a& g" v return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 O( M( j7 u: j. {+ b
}
$ D& }1 u- k h s' P2 [ catch(e)
% f$ B! X+ X- e1 R {2 Z) X) N4 @) v6 O9 i
if(debug)4 c# J* H4 _2 |5 s; Y2 d
{) v, D( I9 T, y: G
alert(e.message);
4 c4 g% r. v+ M# m }$ U6 ]: w, }3 a l8 I# x; v& x
: L3 P9 W5 v; i9 P r# U: Q# D return "200";
6 E6 f4 Z4 a; r3 i }
/ T) p# K* T+ d7 \2 q d/ w% ^; d }4 t( G: k: C& q; I' P. v
7 I y' Z9 o, ?5 B
this.RemoveHide=function(page,objname)" i" V$ B5 L0 n# i( [" d
{+ r* O- w* \" U6 n! y3 k
try
* w0 H" G# `: u/ }: P {
, x. j% k2 r7 C/ f: e# _4 V0 J" l var minValue=15;& w1 M1 M, a' Q3 p
var objs=page.getElementsByTagName(objname); + r1 w \1 w+ D' g
7 |" G: c% ^; p7 t( \' I2 Q
if(objs.length == 0)
0 \6 [ x& p* h: o6 e {
, n$ K8 y; C Z# l if(debug)0 m; l9 Z/ J$ S5 P9 c9 m
{0 Z) ]) ^ }5 g) i6 h
alert("no object found!:"+objname);0 [$ P3 h( e4 |
}
8 H, g+ O0 Q+ D) `2 Y }
- |* `& U1 u, i7 f+ f' k, s0 `7 m else
% c/ ]9 R! G9 a' B0 `3 E% ~7 |) ?: L {
7 E, F. a, `% f2 n) \6 |7 g6 g
. f( _" s$ U0 G$ b4 @' { for(var i=objs.length-1;i>=0;i--)
7 l9 [ Z# H2 P. i7 n {
: D# n0 T" e( y1 J' z/ K var node=objs.item(i); ' m0 A$ H& l' X" r) e9 `& `
4 |1 U# b6 M% N+ ?1 @( {
1 w' D- {: A5 I5 ] if(this.getobjstyle(node,"display") == "none" || y6 z) ?& ~% G: C
this.getobjstyle(node,"visibility") =="hidden" ||# p N4 V8 k( l% ` P) h
parseInt(this.getobjstyle(node,"font-size")) == 0) ) I6 y8 d0 l$ n4 E1 Y
{
P) x% j5 @( z) h* B' ? if(debug)
. J# c, h3 _) b' m. Y% A/ z1 D {
8 R# }4 d, l/ K, ?6 ~& p: q9 H6 p alert("remove invisiable!");
7 }# F) _6 {/ B( q" h }
2 U. R" k* D6 f/ d1 T node.parentNode.removeChild(node);
6 Q( _# L, ?/ Q/ s" f# _9 n6 ] / [7 P# t5 E' e$ n+ P
}
+ z7 c. J* ?& }6 w/ \ else : t8 Y: S( I+ @! ]
{
0 ?) D/ I2 e+ O$ o. |+ r. t, M if(node.parentNode)
# q* H7 H/ m) ]" C {- N; p. @ q$ f
var orgNode=node; {' J; m% f5 U7 c
var orgColor=this.getobjstyle(orgNode,"color")3 Z+ {' B2 f( F/ W9 w- e" Q2 U Z
var orgRGB=getRGB(orgColor);
- [( ` o8 N% ]3 Z8 M% ~
! ~6 @( Y4 ]* B& `* ]" ?" B6 |: s var parentNode=node.parentNode
; Z+ g! e( I. M: r+ x var parentBgColor=this.getobjstyle(parentNode,"background-color");
e: o D: S5 P% Y : O0 f0 N# C: I4 U5 @3 }3 f% {4 C0 g- j
var isLast=false;8 |! ]+ ]* ~8 h/ J; @9 T
# k, c6 e4 z: r: q' l8 Z while(parentBgColor == "transparent")
( ^8 u$ g8 ` F2 z1 \9 a6 c {
7 P3 k0 _( w( W- X6 S% ]7 g
+ K( L3 {. {& B) j1 X
) H& z. L0 ~$ Z o0 w. v if(parentNode.parentNode == null)
J/ H) A( E$ |4 i9 o- ~/ h/ u2 l {
( s4 P( ~. ?! E) L. S7 R isLast=true;% Z/ ]- _# E- c6 X. n
break;
' I5 \) t. g0 I }
; |; |7 ]$ k& l I# G9 C+ S parentNode=parentNode.parentNode;
: E, r) z1 Y# w# w# P parentBgColor=this.getobjstyle(parentNode,"background-color");
: U/ Q- c$ Z' t4 s+ o5 D. L
; c7 _; |; I2 T, C }0 q if(parentBgColor != "transparent") 0 L! ~, M+ t0 x5 t+ t8 Q9 A) R. z
{
& y% T. N6 p( W4 v* L5 C2 h+ a3 H break;
5 n! i8 G% H& P2 s* |& M) @ }6 X5 n8 s6 P; A0 q% S
}
! u& D9 C/ e4 D( T; d* C if(isLast)
0 k/ {7 ?' Q! d( w! ~5 `. e {
9 n, y/ G2 q2 h( ^. v9 T if(debug)
0 C. n0 x* I# Z5 S2 R {7 x: M( t2 ~& B: g5 i) d
alert("last!!");
% [5 w: G/ L/ E2 n* n; ?3 w4 J }) e# a& q$ s9 [8 |* A
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); C0 w6 }* Y- L" h' t! }8 h
{
" A6 [- l9 A2 `' I: |! e) Y: Y& x2 m orgNode.parentNode.removeChild(orgNode); 9 r; _4 E6 c$ Y8 o
}
, Y4 C7 G: V5 Y$ P& \/ K0 c }6 M+ R1 G, t/ w4 K1 a/ F; ]
else8 o+ |$ ?8 H) I. l& _
{# R3 u1 ]( _# T2 A
if(debug)
2 R# F V' \ e" F$ J; F3 i) @# \ {8 t( g% P+ ~% O( {1 A0 ^) r
alert("compare color and parent bgcolor!");
. T4 [8 |6 _. O: ~; }- ?, z }
+ x: W! S W; u2 T! v parentBgRGB=getRGB(parentBgColor);
1 Q9 g5 [: p3 @! ^5 Y# [, S" r if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! M; }( p1 U+ X {' _2 L, F9 `/ I {4 W2 |
orgNode.parentNode.removeChild(orgNode);
; a! Q) v% V; D, u( \2 {7 m }- k+ @' B3 Z8 {' s4 `7 |. w
}
. ^2 y6 l% D6 o7 K8 k }
5 ~: H. \* r/ o6 i: i8 k }
8 B# Z" `8 t! w- Z# f' b+ d0 ]4 D }
8 T/ V, k$ b( `& O8 s }
9 h- [4 e/ w8 _- K
6 _! G1 C' q" m6 [ 1 \+ \) B& Z# r# P' X
var itemFrames = page.getElementsByTagName("frame");& z! I: a$ a; n; ^: v5 f6 g
var itemiFrames = page.getElementsByTagName("iframe");
$ x- \' B. u/ d) |: t ) E" _! f: e7 c9 u Z* ~2 U# Q$ J
var frame, iframe;5 @9 p) j& g* b$ {/ n
if (itemFrames.length > 0)
$ A0 v& y3 R4 z1 N* {. B/ P {% v2 d9 q2 Z# R- p
for (var i = 0 ; i< itemFrames.length ; i++) $ v" N5 ~2 }, ~& p0 Z! ~4 R% @6 s
{
$ Z1 G1 d% ]0 \) ?; ^ frame = itemFrames.contentDocument;7 A' {( s W! S# s$ o: V# M
this.RemoveHide(frame,objname); 1 [( \' U! d$ g# q+ g l
}
$ w' j. @# u( L$ K, C- t3 t }
* q( ]( n$ y" {/ N if (itemiFrames.length > 0), z( B5 [: y$ [! P
{% i5 E E* b2 R: _
for (var i = 0 ; i < itemiFrames.length ; i++) , ]$ ?0 t# g8 ^/ z% T% ^4 {
{
; v j: U' l8 }- }7 N: q iframe = itemiFrames.contentDocument;
0 w4 |3 v! Z& z# n3 f& G' t" Q8 U this.RemoveHide(iframe,objname);
' E' S! v6 \) S& W }! `( n) B& q0 a$ D! i G( j
}4 y. M2 _) H2 @4 o" U4 }% e5 O h
}
6 [3 j1 `: o+ d+ L: |9 d1 G catch(e): y4 l1 G1 J3 K0 o
{
' R/ b0 @7 K( Q& c. {6 @ if(debug)0 |/ M, P& \+ C4 _3 o5 j# ^2 V3 V& W
{) B4 W: t1 u+ I( {
alert(e.message);
1 D7 r- A$ B$ y+ k$ W }9 ]$ }: J! r0 e! u2 N$ y
}
2 P3 }4 e% k* E* i+ J; K& m }0 I' o' P$ s) ?; J) J3 W' e
6 R0 E) O, K. Y2 R; E
}/ |9 f3 V3 o3 o8 i$ S
: F& \- }6 F! e
function getRGB(colorString)9 G, v2 u# J0 B4 [
{; i+ @& T$ i% ]2 f' h1 A/ t
var RGB = new Array;
2 |1 T5 h* K$ H: U var tempSting=colorString.substring(4,colorString.length-1);* {# g3 H/ c8 u0 z4 G# }% m
var tempArray=tempSting.split(",");
* w2 d+ m! ~0 w" {7 n0 P* I. z7 L1 j* M* D
RGB[0]=parseInt(tempArray[0]);1 x4 B2 R1 m4 P9 e& Z: Y: U# @
RGB[1]=parseInt(tempArray[1]);; z5 p" M6 v. z# g, G, ? ^& y
RGB[2]=parseInt(tempArray[2]);& W6 Y) e: {" ], Z
{5 V3 `- x+ T; y! {+ |6 u return RGB;
" z) r/ ~8 b7 O/ b: B}
, R7 ]: T: A) r6 y: wfunction keys(evt) ' A5 E' `8 I7 w! P( q1 p+ N
{ 4 P! A. e, Q( t' t
if(evt.ctrlKey && evt.keyCode=="81")
* C' s+ }# J: _; J6 K2 X! ]+ \ { * v0 w/ ~' F2 N. A# f$ e
CleanHideObj.on(0,1);# i1 T" W$ f/ t& x, p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 Q& u0 R( Y2 y. W6 o+ G( b ! J& n: w$ |/ f# ^3 f
}
$ i8 g( f. L% B V/ U }
2 t& `+ T' p% x& J2 e: q' d; S _document.addEventListener('keydown', keys, false);
. g# }, ^% J* l, p2 b% @1 }+ e$ v5 zGM_registerMenuCommand ('Clean Hide',; B; E. k) d' ?! ^) \. h
function(e){' j+ G" ]! {$ P* l
CleanHideObj.on(0,1); J) ]& k) o0 W: V" r! J& J v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- a% h# V& m4 Y. \3 u; X});
! a$ y F& U5 O2 @& z. ^3 x5 ]5 y& \ |
评分
-
查看全部评分
|