|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& e9 K7 ]" | _4 {( }( q2 }( g8 C" G: k; y+ X2 l
火狐插件,用猴子" j' V8 C- M: o
0 {1 Q+ ?0 C W0 l- Y0 |5 V: \7 F1 L8 Vvar debug=false;
+ n/ G7 \$ \; evar CleanHideObj=new CleanHideClass();7 i% J/ E# y6 r# M. K. F. Y
5 g3 {* \& F' V/ y% Qfunction CleanHideClass() / u! n p/ Z3 \: S: \$ ^% |0 G3 i9 i
{
; S9 e9 G: K7 D1 R ) K7 W9 B$ H3 }# E0 C2 t/ H
this.on=function(id,bMZ): P# J' `' h. f" H/ U8 b
{
8 O. d' [, G Q9 K0 J9 V. [
3 H2 G& E8 r' L/ U# c if(id == 0)
& ?% C7 f8 I1 w {
8 j2 {, I+ p5 r var page=/* document.getElementById("content").contentDocument */document;
. b) v, g! G1 c% u' Y) l this.RemoveHide(page,"span");# F6 d; y7 I0 _8 \
this.RemoveHide(page,"font");1 q7 \6 e u6 s
this.RemoveHide(page,"div");2 ?% R! }4 w# G* l9 _
this.RemoveHide(page,"p");# @ L" R# O/ u4 `) |$ b9 J% u' b6 \
) Q0 S3 k" R3 n7 y0 f# x6 ^' `
}
6 K: l5 ` A+ l0 P7 A2 h 7 J, k8 h7 Q0 x1 T3 ^0 C" W1 m; \1 m
}( y" g* U6 b9 f( `. X
this.getobjstyle=function(node,prop)' r; B6 k9 a1 ~. d; ~
{
) P; O" Y6 k _" D& u$ L ?' @( k: u try: j8 l! p) M# n! F. o$ ?
{
& ~! j) q6 D& c. z1 y& a" {6 b2 p return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; m8 e% N$ ?5 E a! ?1 M* k }
& E, u6 L+ B1 M1 o: m9 P catch(e)
2 r, {5 ?, A- G- g7 ? {: N2 x: A+ w' g8 _5 a' R
if(debug)$ `$ b/ ]! g i7 @9 l' S5 W
{% s" Y. W0 P) U9 s# p
alert(e.message);/ T& n v3 c* ?/ T
}
8 a5 c( Z9 M/ x% a % e. o$ E6 O& a4 d5 \
return "200";
- R4 s6 N& U4 O }5 K+ x# U: x, _ T& ^8 l1 |
}0 a* R" r/ s& ?5 u; z v3 J
8 @& Z$ q+ o0 z% ~. Z3 J
this.RemoveHide=function(page,objname)/ Z: ^. m8 {3 Y5 N# L; |
{
6 K3 U6 |- R6 D; ?: p; |% m! J% M try
1 z" X& y& Z* u; j5 S {
4 ~# Y, [5 U+ }7 P; s var minValue=15;# f: c! a$ Z8 b
var objs=page.getElementsByTagName(objname); / h3 x* a) C4 r! B# |
& l1 X; I) z4 F* L; [' n
if(objs.length == 0)
2 R8 ]: s4 r2 A5 |+ n0 Y3 w {1 R( g' B/ N! ?. e; u9 J8 v1 A) i
if(debug)
) k7 h C, R2 K {
" P( m; i# \( [ alert("no object found!:"+objname);
8 K8 I6 \# n- l+ M7 D( J }. R# Y V4 O/ `' T; ]0 L" c" ^
}' A g, c& A: I
else2 a, Q4 b3 q: i0 u; Y& }
{
* g7 p' i# e7 e
: E! p! Y8 J$ y3 p8 k! L# S for(var i=objs.length-1;i>=0;i--)
& X/ [4 F/ n+ Y s- F7 e: @4 W0 u9 x {
6 F, T6 ~& M" E9 E! H0 \+ A( }/ B var node=objs.item(i);
1 P% L9 D! i% {% R ) ]4 [( j* x" X1 Y8 h8 r
2 f5 }2 r, Y0 o. y
if(this.getobjstyle(node,"display") == "none" || O$ m# h7 K# a7 T
this.getobjstyle(node,"visibility") =="hidden" ||: \1 }, ~9 v! X* m ]" U8 J' s
parseInt(this.getobjstyle(node,"font-size")) == 0)
. D) ~1 C! O( ?) k4 [ {8 A( _5 i4 D- @0 L5 D( Z- S; h
if(debug)' J; \8 H5 e6 f* I4 a/ f% v4 v) z0 a
{
6 Z, w' i9 ~; E7 a- b alert("remove invisiable!");! {3 C, N. V5 V y: e
}
. f7 y0 X4 [8 Z node.parentNode.removeChild(node);( H1 ?& w# D: k- B8 w8 L- C ~. [
* ^' t* ^! Q! L5 F }
3 V, `2 D4 y' K7 e# Z else 7 v; t+ ~# X& [. x- ~( C
{
: m) O2 {4 f1 f. K, O2 t if(node.parentNode)
* m4 m' w0 d, D6 J9 @ {& j O' H0 {2 n1 j1 l
var orgNode=node;. a8 f' h' X& A, v
var orgColor=this.getobjstyle(orgNode,"color")
. b/ F' H# b4 m var orgRGB=getRGB(orgColor); $ Q! e9 m% ]5 W( X0 K
& t3 A8 ]+ z! Q/ d! F# f, L R
var parentNode=node.parentNode
9 k( a( U4 g2 J: V var parentBgColor=this.getobjstyle(parentNode,"background-color");8 L( a& D# U' `# V' o' t1 R
& m C! c) g* L6 A* _( L5 a! E var isLast=false;
( S0 u( i9 ?2 Y5 X / V2 n; {; v+ k7 x+ }3 e, c
while(parentBgColor == "transparent")
" X' `9 k3 O* l4 p. t# W+ x& z {
, Q: t0 O5 |+ \8 P" N7 {0 `- N ; e) E7 K, f4 g
9 M$ K' t2 ^: |3 z- ^
if(parentNode.parentNode == null)
: P0 F5 B8 ?' F6 y, T- } {. u2 G2 a+ x; s9 f
isLast=true; R5 }5 S' ~2 H6 s! ^0 b% H
break;
! `) ^) b8 S6 m- _% r7 Y }
$ l E; |+ Y/ u5 L) n. J$ O parentNode=parentNode.parentNode;, z R5 V. w7 K& Z
parentBgColor=this.getobjstyle(parentNode,"background-color");/ ~! M* f+ r% W# s
6 p- T/ e- a/ q8 C) R/ E9 [! U
if(parentBgColor != "transparent") * S5 I( Z5 t3 Q3 C/ ~1 z0 V
{/ Y$ s+ f9 S# \& Q
break;' y. s% Q/ q8 w" i( a+ v- n2 {
}
" v% Q, C5 `. I7 ] }
; C0 `$ Q$ Q+ _ if(isLast)
/ v, }* I0 f) ~# W {0 f4 w6 u7 i+ m& A* @4 k& l7 b
if(debug)
4 D {$ f& }/ O6 Y+ _4 O7 {' g9 { {
- ^5 ]: X" q5 F, J/ I alert("last!!");
* ~4 `/ S! P: U+ _ }0 i, k. Q; v' P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, v7 J- c" m0 N+ w {
h( n1 j- U' B' ^ orgNode.parentNode.removeChild(orgNode);
$ l5 P. F: m. q& w. |/ ^" }; K }. L! _+ p: f9 n' F
}2 ]) H4 Z4 W F# q* x# @/ P
else7 a- |% J& p* d& Z4 p; N
{
1 u# P& i) ^! I+ } if(debug)
( |- V# }! D) B1 q {, j% l: U8 |; C
alert("compare color and parent bgcolor!");
- t# I! G3 ]( {" e }5 d1 z8 D, l2 I4 c# b/ M
parentBgRGB=getRGB(parentBgColor);" R* a! A) J1 q$ \
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* v7 |) e1 a. v, B( p* g {& X7 Y: Y! v9 @- S4 {6 ^6 x
orgNode.parentNode.removeChild(orgNode);
q* y% n! ~+ Z1 f% _2 F }
2 h* s b: F- k) J }" U1 r4 O9 p" n6 i
}
$ z/ j! @. m6 F8 Z2 {- t& D3 j/ ] }1 |' `1 B1 [# D) S& t' a9 ?' e/ E
}
% `5 ~ A/ C4 k# k2 e: J8 V+ b8 z5 n }
8 d" u' g0 L9 o/ k) d$ U 0 W: E# P# K9 I2 E, w0 W! f; _4 o- l) i
8 S/ N3 d$ }8 _2 G6 n
var itemFrames = page.getElementsByTagName("frame");
5 u0 k- B& D. j# X; I* ]; r! d* t# B var itemiFrames = page.getElementsByTagName("iframe");
* k2 h/ l+ v) g ]
8 _7 ^( j3 _8 T var frame, iframe;) ]# ^5 y+ S/ l, a( w+ m8 C) O1 ?
if (itemFrames.length > 0)3 N% @9 n4 l5 o F \# a% p
{
% F8 H+ l' n2 a( K5 m( ]& a! W7 l+ F0 R for (var i = 0 ; i< itemFrames.length ; i++) " M1 @% J4 C- ~! w7 q: ~1 B9 N! f0 Z5 W
{9 S4 L: C6 ^ [5 Z- j+ @0 T" P
frame = itemFrames.contentDocument;' f: e, u, O' M
this.RemoveHide(frame,objname); $ E& }* d& c; T1 M: a4 O! p3 \
}
+ S g, |( ]4 i4 I5 t& W9 @ [6 w# `$ u }
: t/ B9 G# B% t/ S% s8 Z if (itemiFrames.length > 0)+ W. z# F% S2 ]3 r$ r2 d
{
/ B" H/ o- H/ N2 M4 r for (var i = 0 ; i < itemiFrames.length ; i++)
; E- g$ z% b, a {. C5 @" c& d- f$ h- X' f2 {
iframe = itemiFrames.contentDocument;+ i& S, G& F1 |. {
this.RemoveHide(iframe,objname);
8 L9 H( b' a1 G6 K/ G }
( d4 S8 E0 }- T% c }9 J5 l/ M, X+ L' v2 Y* ]! s/ B+ e8 U8 ^
}
' M0 m+ R7 T5 }2 C8 v0 ]2 l" b catch(e)) g7 Y1 ^" k% b3 p- C; k8 ~
{
1 G6 Q6 v ~$ q0 m8 a if(debug)
6 E; f' _* I: j+ E/ A- M4 y) ` {
9 F" s% C: H O* f% V alert(e.message);% f' |/ q' V& d, m. u/ l" J
}8 D+ ~( S& l/ {: z b6 P2 b+ V! u
}
! M. f$ |* i' C$ i L) s+ j }
4 o- a# d9 l1 y7 |: A. F + W+ f% M- T: W# r
}4 M" K" m3 H$ x9 c; d2 w* g
& R5 c1 g8 a0 T# z+ ^0 H" A2 Y3 J
function getRGB(colorString)
% i2 f( q" f$ @* Y1 a7 v- v* Y* f{
; t. W- t, _6 w) h6 G/ v4 ? var RGB = new Array;
0 H' A9 ~; d4 p ?, |# _- o+ a var tempSting=colorString.substring(4,colorString.length-1);
' b% z8 F9 |5 q, L) G7 V. Y! M% R var tempArray=tempSting.split(",");. F, S( r ^4 H; p) B
6 j* e; s% C$ d9 K RGB[0]=parseInt(tempArray[0]);
/ u2 V D: i" e, B1 e8 i RGB[1]=parseInt(tempArray[1]);& I' O5 G) c# I1 _. U1 \
RGB[2]=parseInt(tempArray[2]);+ C. k5 z. s+ L: N7 H" _/ T
: M9 g4 u' I5 Y$ F. A% K- Q return RGB;
" ~0 _2 G$ g0 G' Z/ r}, o: n% `1 w* K- d9 Y
function keys(evt)
1 V. T0 R6 a6 D$ u { 9 N5 |1 G$ y R! S1 T
if(evt.ctrlKey && evt.keyCode=="81")
1 M9 R/ C; L5 d* A* z { ' w; I5 n; I* `' C) d
CleanHideObj.on(0,1);# b- v2 y; d S. U' w+ H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- }; I" k) O# | ]/ f* J% b9 u
! m7 i0 A" n# X T! Y } 5 x) S+ k. L* A
} " U9 e4 [8 {- S# S. a
document.addEventListener('keydown', keys, false);
. m* I; \; U& X. V1 A; f: g3 \) LGM_registerMenuCommand ('Clean Hide',
1 N, F4 f$ C/ H9 X/ H; kfunction(e){
" i! g- R$ P; z/ c7 p7 o1 o8 YCleanHideObj.on(0,1)9 Q( T+ t/ [6 \ ~1 S8 e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# u% z4 u4 \5 v% V# F2 ?4 s9 n});
3 O1 `2 U# ~+ V2 }4 G& e& I |
评分
-
查看全部评分
|