|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' X7 @/ l1 d. K8 l3 ^% U0 ^( e# L
& i$ @! E/ O% w% K' J火狐插件,用猴子3 O, ~* S0 r0 L p
6 J; o P/ O7 M1 }$ F- p' avar debug=false; l% @7 d# H0 [5 u( X
var CleanHideObj=new CleanHideClass(); v% j' S8 t$ I8 w
: b1 S; N- ]! ?0 q
function CleanHideClass()
9 {# I% ^* l7 f$ M# ^$ d, |& w{ , ]- V) X4 L# X* q. B
: ~: H7 j7 V3 C+ `6 i+ _5 y
this.on=function(id,bMZ)
' Q2 z4 w) D, R Y {2 K1 Z! t7 n- `/ ?7 n, o6 e
5 J6 o2 _* R/ x9 f if(id == 0)
( y0 _4 E6 l( c7 W- i {
' g, Y+ K: k/ }9 k+ r var page=/* document.getElementById("content").contentDocument */document; 4 X, K6 M7 a: e; w
this.RemoveHide(page,"span");
" C# v7 x; a* m% \. Z3 ~3 A6 w' u this.RemoveHide(page,"font");6 z# c4 X* h9 u7 Y, e4 }) V4 Q
this.RemoveHide(page,"div");
$ s) E) A, o# ?1 D! N0 I this.RemoveHide(page,"p");
$ Z9 O% k3 V- u( d
' s% s, h& I' l }7 T& f% Y& B0 v2 @
1 u/ X) A1 q3 w }
- k6 f6 g6 j# J) U* [# f/ n this.getobjstyle=function(node,prop)
9 }$ f4 K0 z6 b- I6 H4 p8 t% Q {6 ?8 n! {3 a& g7 I1 ^- s
try+ Y) Y/ U$ K9 H5 y5 V
{5 y# ]) W- j- S. v2 @) n" N
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) Y8 l# R- q# v7 ^
}
& M! t+ R5 z$ G3 x" B! J2 r catch(e) v6 S6 W& l- L, t9 X! }/ m" Y+ c. u
{
: G: X" b, V! h if(debug)5 l% B5 r0 j6 `6 w
{" \& O+ s5 S& Y5 ?/ z$ `8 D( h3 O
alert(e.message);1 S& Q% ` O' U, {
}" G) a# `7 h- t9 U* y0 ]$ ^4 i
' ]$ j0 T E) f9 V5 Z
return "200";
& z" @5 G \: `8 V- v' K' c }
. e2 X R6 G( z L1 U6 N }
; Z0 L5 H k- E" [" w . u) ?- W/ K ?' b( E4 D
this.RemoveHide=function(page,objname)0 @. j( a$ Y8 A2 X
{
: i3 W$ t4 R) o0 T& j- }5 n try
+ T8 h/ C. }; V {
2 f0 c% u e ~ var minValue=15;
* t7 j1 h' l3 s( a7 D var objs=page.getElementsByTagName(objname);
# V4 x7 J' H% [ t
) a, c6 `) G" K9 \, a if(objs.length == 0)
1 s' c( W$ i' d6 w- [ {# C8 M3 Y7 S, z) S; Y0 }- q8 X
if(debug)9 o; u, W" v) s) p& x: w
{9 _! E$ K0 O- H! }1 q% B
alert("no object found!:"+objname);
& Y% m, I+ c) d* D$ N }, c' y2 C1 w. {2 W s
}3 ~. C, G) r$ r, V7 E
else
4 N% M7 L+ E6 j" a {5 p6 C" L) X) I7 i6 o% T$ f2 S
. B# _, u' X4 K9 H. Q2 h4 R for(var i=objs.length-1;i>=0;i--)
* O H, w' v4 ]5 p' P3 } {3 g5 S) V; l3 s' a
var node=objs.item(i);
% \) B) Q7 e: y6 k
$ M8 n# m) l) l- |
* R: t5 K8 g% P* C) ?' v" } if(this.getobjstyle(node,"display") == "none" ||
/ a' Z2 F' g2 I! q9 ~ this.getobjstyle(node,"visibility") =="hidden" ||
2 C& q: K, x) ^. ?* ] parseInt(this.getobjstyle(node,"font-size")) == 0) 2 f- e2 T1 ^% C- w
{
8 i# m* a, u9 @8 p& H* V if(debug)
" C2 b% w) y5 r( c9 g6 Q/ ?; P: t {1 K! W% O' X; [
alert("remove invisiable!");7 l _8 ~8 _% | q* y% N3 Q$ [
}# c" |0 I" t8 `, w- |/ C7 S
node.parentNode.removeChild(node);$ c* E8 c { p& S# V
9 r" A5 C" [7 W6 v }* R7 L( Z. [' H3 k! V q
else
, x1 M& r% i! y) [! z* L% q* w {
6 w- E1 q0 Z$ R" Q$ g. U2 \ if(node.parentNode) 9 ^& v& G, c3 J( K0 ]7 C" T% ]
{0 B$ F' w: k7 \+ W* S
var orgNode=node;3 ]7 _: v: y, ^3 o
var orgColor=this.getobjstyle(orgNode,"color")/ n. @9 m/ @7 M0 L U5 V7 H8 n
var orgRGB=getRGB(orgColor);
2 K0 f8 G' i2 w1 Z3 H, g0 F 9 _4 A% S% u4 A3 ~
var parentNode=node.parentNode: @7 t. ~# ~3 H6 L( x( [0 B
var parentBgColor=this.getobjstyle(parentNode,"background-color");
$ f) v# v) w) S+ S/ v
5 E+ G4 Y) E6 z# p2 _ var isLast=false;
4 x# I/ |& ~) s5 W e$ q: I$ S. L
$ [4 ^8 h0 T1 z9 T5 f' Q, u while(parentBgColor == "transparent") ) e; F! b' ], v: T3 h2 T) N# e
{
, ^% q0 e/ |6 y
4 O$ M) C, I2 u& V- D % p; W1 `8 u h- ~2 A* i
if(parentNode.parentNode == null)
9 Y4 _0 M1 |$ y/ ?' I) I" I3 M {! z4 Y+ a8 y2 O" `
isLast=true;3 Q0 g1 F# a* a! {
break;' ?+ T( H- b5 A$ @1 H' j5 t
}
9 s4 ?1 g: f& }- Y8 O parentNode=parentNode.parentNode;- w$ A% |3 v( _
parentBgColor=this.getobjstyle(parentNode,"background-color");
$ g4 R/ F, V( K1 u, h& C! K) S
8 @3 C0 x( B2 H+ y if(parentBgColor != "transparent") ) F% V; |' f6 _- R, T
{
% F1 V! @ d( }1 ~3 s4 W+ ]* j break;& L3 ~# R' r, E3 f: T" {( r
}5 ]- u2 h2 k4 j
}" t$ R1 Q3 f1 o# F
if(isLast) & S- } w3 }* x
{( a0 e8 \8 b8 N" o" \3 k
if(debug)
' X+ i+ A4 o0 o0 e a5 ? {
7 H1 @1 R" v/ u3 u8 x5 a* I( K; Y alert("last!!");
4 N* n# a! n3 L }( t# l, d+ }( ?7 j
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 Z' k) Z( `" c {0 u) ? X, u, ^% H
orgNode.parentNode.removeChild(orgNode);
1 ~5 ^# q0 I; H4 j. X& v& f }
5 P: y) u: O* ]& J$ X/ z9 [3 | }
Y' N7 l3 v- h, n else
7 h* Z" @& Q. l- e6 W! P, T {
4 l& m9 F' v3 W" _# F: |/ a+ @ if(debug)$ `$ ?! ~5 G s; I
{
: C+ I7 l: |& ~) a( \ alert("compare color and parent bgcolor!");) }/ X+ H; B$ x' ^9 t w' d
}0 i* n; g! J" t6 u/ d2 ?5 R" r5 ^
parentBgRGB=getRGB(parentBgColor);, L. F& D0 t6 |3 X+ v
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
6 Q/ ~% E0 [3 d; I: V& f {
0 a ~6 }6 k* Y9 U) a7 A; V orgNode.parentNode.removeChild(orgNode); 9 J$ w; \ [4 T n2 ?4 A/ G
}
1 |6 _: ~/ L, ~+ }/ i }3 M" H6 ?- ^" [1 s, W2 B
}
, ^4 Z6 d% k2 a2 T1 Y( a( T, ^ }( {4 `1 |7 ~$ c8 Y
}
! m5 w3 U1 K Y3 q. G. ^9 v% ~* v }* c7 y1 H$ H4 e7 u1 |6 g( S
) j6 p1 E5 F- t6 h+ }3 M
1 W8 v. {) E/ O# d5 S var itemFrames = page.getElementsByTagName("frame");
$ a- W6 R6 }2 F8 {4 A var itemiFrames = page.getElementsByTagName("iframe");. b+ b- T1 a# @( U- y2 d4 Q0 k- j0 b
0 y. [6 W9 C6 t% e; f$ u, ~
var frame, iframe;
; A3 d2 |- S7 E3 \7 P; n4 P6 C0 f if (itemFrames.length > 0)
% e, K# A% J2 x: H; K {
5 J: B1 J& R1 f. ]: ~. ]7 o7 n/ O: H for (var i = 0 ; i< itemFrames.length ; i++)
$ E+ x r' h/ v+ y3 i {
, B. g. A; K; @( q frame = itemFrames.contentDocument;
: i0 A# l. ~! `% p) D this.RemoveHide(frame,objname); f4 j( W8 R3 y1 Z0 V
}1 ~6 W* C/ Y: `" D. M1 x8 G
}7 ~* g6 d: V5 r0 B7 n
if (itemiFrames.length > 0)8 q& {. l' M Z" r
{- \: y, \1 C5 Z7 u% k0 I
for (var i = 0 ; i < itemiFrames.length ; i++) 8 x- v4 a( {/ N: y. x
{
- [- M! e" L8 i# G iframe = itemiFrames.contentDocument;
7 m. l! \$ e0 ]/ U this.RemoveHide(iframe,objname);
% h/ @1 ]5 q; b; s9 C }" C2 M7 G5 Q+ \6 G5 {4 o- f$ W
}7 b, [0 U% L5 H+ K- ^ W8 |
}. G" x2 U- }+ n5 c! B* z
catch(e)
/ N( d$ }) u0 h- X: n# s {
0 t* w- J9 E' w* q/ Y1 G. B if(debug)5 F- s, _) Z: p- Z- ]" F
{
2 P7 d9 p( j4 K7 ^2 A3 r+ o" ~/ } alert(e.message);
! H# E. v# r: G+ T* u }
' x2 M: R/ |6 d: e& s1 K }
0 |* d- ?6 |% g% `0 W }9 ^& O6 m- G9 L" M2 M* x. P
' L2 O3 X- h" J+ P8 I1 p8 b}6 F1 ^' I4 h3 J/ b; V7 A$ k
0 J* R% _, J: N! n* b: Y+ Xfunction getRGB(colorString)& i0 R( J: |& }6 e: Z
{
" G" Z1 A' @' e9 u5 P$ u. a var RGB = new Array;! \; o( t0 `/ ]/ O1 M1 p9 N
var tempSting=colorString.substring(4,colorString.length-1);
# C& s" N& b: s) V" l3 R var tempArray=tempSting.split(",");" k5 n% p' W, a# y) X0 ]4 [
" u' L' N7 x* C- ]% b" E" }0 G
RGB[0]=parseInt(tempArray[0]);6 W w$ J4 B% _8 A2 a7 J" P
RGB[1]=parseInt(tempArray[1]);
# L3 H4 y8 W5 [2 ^$ w RGB[2]=parseInt(tempArray[2]);; t% f: _# E0 o! M
' V7 B" u( ]3 V L" e return RGB;
7 z6 g1 d# h* V& ?, S}" N. ]! R% }3 U
function keys(evt) & v& `* u4 s) w2 U
{
* A$ U3 e2 `% `+ u" ~( i7 t if(evt.ctrlKey && evt.keyCode=="81") 7 ~- R2 j+ y7 n7 l- Q
{ 9 q' ]' t( c2 a+ y* L
CleanHideObj.on(0,1);+ x0 g7 D# k* F$ q! v" ~0 W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); t& |. Q' ?& S; R+ k
* W. |4 s- m- G8 \5 z, f
} 8 k" i0 j1 _/ x s
} 9 l; m4 k3 Q( |9 o1 Y
document.addEventListener('keydown', keys, false);
8 H6 [( c, ?2 y* lGM_registerMenuCommand ('Clean Hide',
; Q3 v' x# z! h( T8 l9 c+ E0 \function(e){2 Y+ @+ e: j7 @1 a$ Q' w4 \% R# B5 H
CleanHideObj.on(0,1)
: g ^9 Y) L# yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 n& d1 T: o* R" I& M) N2 H/ L& Q2 ~; i});
|7 D' P! v2 b$ U7 O: u. V, E4 u' A |
评分
-
查看全部评分
|