|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) F$ U9 M6 m' V5 F8 s
6 |/ `9 H' h& }! C& h" R/ `2 m火狐插件,用猴子
' i: R8 B6 W7 s! i1 P: h( i8 X A: g( R
var debug=false;
+ n- a' g8 r$ @4 V4 |( j( `var CleanHideObj=new CleanHideClass();2 L5 D0 `( y/ q6 Q2 u5 g( y8 e* z/ v; O: {
4 e( H+ ?$ V) \1 j% C8 X0 ]% I+ O1 t
function CleanHideClass()
% K0 P$ x3 j! s. [" q{
$ I% ^9 p; A$ n/ `+ t
( y6 e: [5 w1 H+ Z, `$ S this.on=function(id,bMZ)! x2 M3 D6 L4 C+ ~( W: k' c
{
, |9 Q7 S) I- B* o9 U6 @/ A ! K$ i G e3 s |$ s* Q
if(id == 0); X5 w- |# x# J$ T
{
( c( I/ ^7 T' ^& I' m! Z var page=/* document.getElementById("content").contentDocument */document;
( G4 H9 c/ Q5 C6 } this.RemoveHide(page,"span");
9 d8 U- `2 q6 }4 F3 W. e+ t this.RemoveHide(page,"font");
/ }& r4 i' R0 B9 d: p this.RemoveHide(page,"div");
1 P) f$ s/ X& V! ^% A0 r$ M this.RemoveHide(page,"p");2 g7 {. W6 k7 E$ _$ G, O& r
$ r% Y# H7 w5 f: G% L }
# v) n# [& `% A- Z; p . s3 U+ z* k' o% y
}5 D2 I6 v/ D: T- n2 L3 ]
this.getobjstyle=function(node,prop)
7 E; c* p: B& `, b5 o9 a {
1 S$ w( z: O6 x- s' F) g try+ \8 |. ]% ]3 c7 q0 I
{. P6 }/ t/ a6 i* _
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" G' J2 d1 b, N
}
2 a0 x1 ^" |- B# K catch(e)
+ L# x1 u& @' Y$ ?9 B {% ^3 W! m; h4 l
if(debug)
$ S$ o3 Y' v' b+ I {6 }7 N f: ~. a6 _: h3 V
alert(e.message);
# N6 X7 _+ q, D) v* @) \3 K% [; v& C }
& j" T0 h6 I' w. x5 d4 B. K9 l/ s % Y0 t1 @0 P. V8 f
return "200";
( g- B7 n" P( I/ o }
9 U# U b+ r1 @! x }# j9 N. M3 |/ {% ?4 c* y& B
) M' m' [3 X+ p this.RemoveHide=function(page,objname)
x( d# x! H: O, w7 j7 [& G {' n: Y( [% Z: E4 E: |& e/ M
try
4 @8 A9 ]$ G/ W X' D3 F {$ {. v! W6 n) q( t% z. t
var minValue=15;2 a4 b9 V8 b# H! Q
var objs=page.getElementsByTagName(objname); 9 q1 M0 C* @5 j# X
' x" t8 j+ {* t' H5 ^9 e
if(objs.length == 0) ' ]% ` S) \ z' }: J
{1 {: S. I4 j6 {1 [- t2 O; _5 W! S/ k6 E0 J
if(debug)0 |! Z W& J* u# G0 c( O
{) c! ^4 }2 V- @# {) [* J1 C
alert("no object found!:"+objname);
$ V) D$ \6 O- v1 D! r. h }
( V% x! U {. B/ l }
$ \& x- ^0 j+ b" e+ y else' p7 @0 m2 N5 ]: j/ C4 k
{' i1 g) `' w- Z: X0 t- N) L: e
7 m! O+ w4 ^$ u2 T) `3 y
for(var i=objs.length-1;i>=0;i--)
/ L7 Z0 p" Z0 P; ? {* Y! T7 O( U: q' X& ]% B: }8 e* m
var node=objs.item(i); Y2 M. g5 j% f/ [7 m$ P4 y1 g
5 U5 O% o2 F( u( G, r3 }3 H
1 a$ t9 w- e0 @( I( c if(this.getobjstyle(node,"display") == "none" ||( @* I- C3 P8 K. d) O4 i
this.getobjstyle(node,"visibility") =="hidden" ||5 H6 P' c8 ?4 U8 V( P' y
parseInt(this.getobjstyle(node,"font-size")) == 0)
: w" ^" B4 y# ^8 p( V {3 U# B2 m7 l8 l
if(debug)
9 N, [ s4 }1 N {
) A3 r4 }0 O8 x8 e alert("remove invisiable!");
% ~$ d) V! r2 D% b }
% E, f! x9 j9 C1 F node.parentNode.removeChild(node);
2 X- p5 s7 p- R 5 b) B" Z0 c, {3 \" n+ D9 w( w
}8 R+ o; V4 a. r5 d7 }4 M
else
3 x/ v! N) ~ W$ W, J5 J {# O% ], g3 ], f" y6 M/ i
if(node.parentNode)
/ p5 r; w# [, r2 T$ |9 s: c4 B {
- X# J7 a- @! M1 W+ r# p6 i var orgNode=node;+ s1 k* b( j2 \8 S* Z
var orgColor=this.getobjstyle(orgNode,"color")& z; N+ n+ K q
var orgRGB=getRGB(orgColor);
* E: m2 L! W, L4 G- [1 G- L
w( `3 p# @" F+ i | var parentNode=node.parentNode- s/ ?0 u3 K3 t; j, c6 N F7 o
var parentBgColor=this.getobjstyle(parentNode,"background-color");* \" c, W0 i; D- H0 s: a
8 u2 z4 n* ?$ y! k9 u2 c
var isLast=false;
& D& T4 y0 i4 |$ g$ l2 r; q , b, @: X( ^" w3 D
while(parentBgColor == "transparent") " ?: @/ o$ d* ~& W
{- M5 `7 c3 l0 {$ K) T) ^$ W
& f! O( F5 z5 B
; T+ w% u0 w7 C+ T! c* V, F& a7 N
if(parentNode.parentNode == null)
5 W! X( c- N( x {
/ |7 G7 u/ G4 [" T: n isLast=true;
! J& P4 J0 Z" R0 n, K break;$ a: f, p; W# S+ v
}
& l1 F, H( P8 R parentNode=parentNode.parentNode;
# @$ h/ V3 K: K( K+ l parentBgColor=this.getobjstyle(parentNode,"background-color");( j3 v6 _$ i! G
7 E$ I8 R: }. I. M' w
if(parentBgColor != "transparent") ; d9 c7 E9 D9 N
{
- J5 X3 v5 Q% P9 }1 b break;5 x" Q, ]: x2 k) G8 X
}
$ h7 _ V) Y K4 P' s }# |% q# {, L( @, v* s: Q
if(isLast) : c2 X+ [& l, \& V, s% }4 C
{% m2 s9 ?: r2 r# |7 s/ u I2 F
if(debug)
3 G) T- Y0 \+ X* u- g {6 k* z8 D9 t _$ K6 _7 |4 v& C
alert("last!!");! Q# D2 h" s5 L* I
}/ z6 D/ l w5 I( k8 ^0 ?$ t" Y- d2 O
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' k; ?! ]& T$ h+ {/ t) o: |
{) U: L" V+ R' M3 S2 C
orgNode.parentNode.removeChild(orgNode); 6 H' Z& B' Q" t( o/ ~( m
}
- |/ T9 }$ i" L& x/ i }
' m6 m( Z! t' C% v/ a else
; E. u7 u: \& t+ I6 ]+ c9 A. y {
) m$ J0 d# O/ u/ p9 } if(debug)
{5 I# D( Z* }4 y {
, d' t4 T6 \) y6 N ]0 \ alert("compare color and parent bgcolor!");% @3 s+ V1 @) s) H
}
- w% ~# a7 h% \- O# ~. F7 g" }& j3 n parentBgRGB=getRGB(parentBgColor);( @" T* W' i* C: ^6 V7 N( j' g
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 r" C* {- p/ q- c4 ~ {; z& D0 ?) N0 s
orgNode.parentNode.removeChild(orgNode);
4 |$ N6 v/ q' u# }8 } }
& B: B# V2 q5 k }$ E7 O6 [0 w; f
}2 o: P. C9 g# V. x" ^+ Q4 M
}
% O9 B/ ^$ @ U6 k( o# [( L7 x+ n) ], [ }
" `# { {- G, S- x( ? }1 l$ B5 O2 f% G! I3 f
7 i2 V8 b: ?% l- H- u' Y
3 W& f8 j2 |/ N0 T P V3 z: G var itemFrames = page.getElementsByTagName("frame");
* F% v5 M0 X% Q var itemiFrames = page.getElementsByTagName("iframe");
9 ?/ a- p+ X; w0 X8 u ) p' M; ]. g2 T/ B, j* o. Q
var frame, iframe;/ a% Y6 v1 M4 Z- H! f7 q. b( K& u
if (itemFrames.length > 0) M- Q+ J. ~0 D3 I5 g
{
! M: x. j. S8 n- A2 ~: t+ b* ` for (var i = 0 ; i< itemFrames.length ; i++)
) j$ g9 Z8 g7 G9 g- `; ?4 V {
% u: Z' H% \# X; S; f. c- E% z frame = itemFrames.contentDocument;' _, l# l* I8 K
this.RemoveHide(frame,objname); 5 t. I* I+ A5 F+ w; [, s* |1 u7 D
}
( U5 m- R. b; Y; d* Y: r" n }
- T* K6 R' Y3 [ if (itemiFrames.length > 0)
8 G# ?6 q: K! V" _# g! j {
3 w% n' g1 B; O3 I( m8 s% z for (var i = 0 ; i < itemiFrames.length ; i++)
n9 |2 ?8 e5 G, E8 M2 T {
8 `, d, L u4 I3 z+ u iframe = itemiFrames.contentDocument;- i5 E N7 n+ }* f
this.RemoveHide(iframe,objname);
& H2 O e1 D/ p2 F }* I' S( D0 D* d$ o' F
}
4 D2 ?% c( o/ c4 w0 {2 j+ J. X, S } F! A3 h6 s- H9 i5 }4 }* x' \
catch(e)
6 O7 @/ S" g" w% ^/ m' l) V {
0 N+ k! D( C- \/ W0 t if(debug)
/ N2 H h5 X: J" ]$ y- O' I { Z* X2 C% Z) N: N, J) R
alert(e.message);! n* g4 K2 c7 m1 a: A3 ?3 r; Q- L7 q
}
D1 |* _' a" V- R9 Z$ y9 q% V/ ~* |- Z }
E; Y; k$ a' b' K0 W$ x( J }
% W% l: L0 j" m. |' m) X* [' L
( c4 I, X! L- l- W8 L& e) [$ P}
' ^* p }. z/ t1 ]5 g+ I0 }
a7 e; H+ m$ e$ t! ffunction getRGB(colorString)2 t! |% E7 c6 E) y
{
: q& L) W& }- g2 E" R `: A- c var RGB = new Array;
* x% c6 o! T# B0 z+ M, S- V$ G var tempSting=colorString.substring(4,colorString.length-1);; {; w9 z/ w, l9 l) T
var tempArray=tempSting.split(",");
- E* v2 R P; h `" f9 l; V- O+ K2 l2 d
RGB[0]=parseInt(tempArray[0]);( {. ?" Z0 R( w8 @7 u M T. ?' C# C
RGB[1]=parseInt(tempArray[1]);
& V' o1 b1 h/ E. e. W. j; H RGB[2]=parseInt(tempArray[2]);2 C' `7 u6 k) n$ W: s, Z- l8 ^
! w* @9 C" @0 ~
return RGB;
0 a* J: o+ V {) e3 r1 a}
I% S4 |5 T8 k: Y$ c ?function keys(evt)
7 W1 ]6 n7 W. _' Z6 b, T { , |1 M2 ^) o6 [# z; l. r7 v7 r, d
if(evt.ctrlKey && evt.keyCode=="81")
7 [5 L8 x. N v' z { 2 j( Z' }* |6 R/ O: A' m$ R
CleanHideObj.on(0,1);
3 [: \; w$ n- x! U7 M alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ R! A/ U+ V# h! G6 C
% @/ V/ f( h: c3 m, n3 z3 a }
. H4 V$ B# n, C6 \) w }
4 N; _/ D3 ~. i1 k+ }3 }document.addEventListener('keydown', keys, false);
; Z! Q$ Z7 G, v: GGM_registerMenuCommand ('Clean Hide'," ]% l" _' f; ?" |: s7 |. r
function(e){
. S% D( {/ K! W2 }; B8 Q% y2 dCleanHideObj.on(0,1)) ^4 B- G2 h5 w) r( {( C/ T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 {" } G5 W0 [5 N8 F
});& W, k) r! i# P1 ^* E" t
|
评分
-
查看全部评分
|