|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' o; b' I, Z4 n+ q7 x
7 `' P% V) i5 Q5 S3 k3 N% b火狐插件,用猴子
( Z* b4 Z7 `* U9 x9 y2 K! n6 ~8 F4 P5 a5 }( s& |: J
var debug=false;
% q6 i1 {6 @3 l. N! M3 {" M+ p. jvar CleanHideObj=new CleanHideClass();5 m; s8 L" U3 I
# H$ n( M( L7 _
function CleanHideClass() 9 K8 ^; f& E# {# ?6 j
{ 4 c! H4 U( h+ A$ I$ H1 I
+ y% C5 T @" _5 r9 c this.on=function(id,bMZ)
& ]% l9 p3 m% L& m {; t% T% D( H0 H8 `$ n# B+ T0 V
# o1 ~& O' M% @6 z if(id == 0)& ?! l$ ]9 @" W ~" z2 v
{
0 b( S& c* ?6 c7 C0 Q' h% C. p var page=/* document.getElementById("content").contentDocument */document; 3 y: _, o; _: W4 M$ j
this.RemoveHide(page,"span"); B5 }+ U2 j8 w3 M( @7 l8 b: g' g
this.RemoveHide(page,"font");: q0 [ [$ u- n2 d, i* ?
this.RemoveHide(page,"div");
4 t: C* E2 y( F this.RemoveHide(page,"p");
+ d- E, _5 S: P- v$ G, s) {
8 r+ W T: @6 O3 B2 e: w% H9 S" D; B: i }+ i, F2 m7 t- q5 L2 h
! c5 [ S7 V: [. ~2 t e8 `% A5 { }: \* F" r3 q! w( f: C5 r* S
this.getobjstyle=function(node,prop)
* J" x9 j J' ~ {4 f# a1 c( Y3 Z5 o
try
, n1 o! K( K9 Y5 \. k7 s7 B {- q2 q* `+ K1 N% v& ~' a( t. l
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& ~9 S6 e; ?: m9 O }
9 X* `2 M/ m( u catch(e). c. \9 y6 b5 |- ]! K* z5 o: G9 o
{) v+ E3 U/ c; p0 ]- |3 z
if(debug)) p4 E" i: Z3 Y2 ^* b
{" o. A4 \7 w( Q+ w
alert(e.message);1 \0 V& z. h- o% ?, [% F: @5 L
}
& i& Z$ l& ]. M& T" L5 u# U$ Y
" X- b2 b) x/ R return "200";' K% A' Y8 U- s/ |& N& u
}2 T. W# F' j; N, C
}
; J1 }5 R% w0 j
8 X6 h' j' J, q+ M& \! M# j this.RemoveHide=function(page,objname), n- F3 Q/ x" J1 p
{
. R9 L3 n d' Q! { try
4 F/ h3 X1 G' s6 {7 K0 F {. I: G# ]5 i( g
var minValue=15;
3 [, Y$ S+ T* P1 e* J5 ? var objs=page.getElementsByTagName(objname);
4 l2 A2 M( u3 b% w. L( a4 m; |1 Z
if(objs.length == 0)
( |5 G2 ^: Y' ]% ^+ Y9 k {
! S+ f9 C; E$ V if(debug)
$ W/ o7 ^: x n2 m; p; n ~" C {( M6 t6 \0 M; Z9 e) X
alert("no object found!:"+objname);
' T- m s i z! [2 Y% f5 y' a1 K }! N. \! M/ K- s
}! ?! |9 w3 }5 S7 N( o% G$ E
else
! T; n2 b4 ?+ N {
3 U, f4 A: I! i7 j. c7 D1 y( @ I& G9 d" _# [' Y0 P& ^% K
for(var i=objs.length-1;i>=0;i--) I! H& c8 I2 A! H* [
{- n N, F5 s& z- s: c I- S" V1 o
var node=objs.item(i);
* }" [* x& E* z) g; G. q/ A : r+ R6 C) T9 r% z
5 ^) I. ]: X& h% W: Q; c. J if(this.getobjstyle(node,"display") == "none" ||; L& V/ `2 o- i$ f: ]
this.getobjstyle(node,"visibility") =="hidden" ||
5 V- k& T$ C/ U+ x5 J* u4 k parseInt(this.getobjstyle(node,"font-size")) == 0) # g9 R& l }) Q2 J
{8 P# j: [4 g7 Y$ G5 b
if(debug)8 F' `- ]( Q# L) X, [6 O7 ]# M0 J
{. m! ]' t; a7 l P8 ~* g4 @
alert("remove invisiable!");
t5 f' m1 Z8 ^4 I }
6 @3 A2 m1 ^7 Y5 |& G8 u node.parentNode.removeChild(node);# v- I% |5 J: _- q! h2 a
\1 i3 [, Q5 `, O! n }
9 Y& D6 T& _$ K% G+ u5 h. p2 _% a% ] else
- Z1 h2 u! I& m+ S1 |8 W' k {( Y9 }' L& I3 E( Y! n5 z$ e4 y
if(node.parentNode) 9 F" E# K: q. @
{
$ l# T+ p5 j* J) T6 E6 P var orgNode=node;# e/ c1 Z) a1 B9 ~( F. E
var orgColor=this.getobjstyle(orgNode,"color")6 G9 y0 {& H0 F+ X% [
var orgRGB=getRGB(orgColor); # i8 M* k" a" ^( u' o
- n2 ]' c! Y3 q( z; q5 w/ w var parentNode=node.parentNode
2 X5 m$ `/ \! N# A! E& `4 B6 I var parentBgColor=this.getobjstyle(parentNode,"background-color");( B3 H% a4 s; s8 b4 p1 j; V
) Y* x4 F* o* O; {" ? var isLast=false;4 O8 w0 B) j8 `, G" }
! T8 K0 b4 z. e" K
while(parentBgColor == "transparent")
* h9 ^. O$ b; A' U$ }; P {* L$ C/ O0 X+ H5 _* s
3 ~/ N; g" q" }) s. _4 ~
/ F* |# ~0 l% Q4 Y" N' {+ W, ? if(parentNode.parentNode == null)
- t P- z9 s3 \% u' J {
3 j! O+ R% s1 [0 t% z isLast=true;
/ x' B# { ]5 a, E+ A1 e1 l0 I break;
& ~9 ]4 w4 W+ J) {2 D }/ Q% n1 p: P! G, f' D7 |3 K
parentNode=parentNode.parentNode;; ]- v0 Z* T; O2 f) ^) O
parentBgColor=this.getobjstyle(parentNode,"background-color");
+ i7 m" ^! H3 e9 u( L" ~* n$ ?
! l- E3 J2 r" L% j if(parentBgColor != "transparent")
) q0 L: ~# y( g: U* m3 S {0 H% G4 W+ |% X
break;
3 y1 _% H7 Q% t* S }5 x: r$ G" {* C
}
/ Z/ v. H6 q0 g# L7 I0 I( ]# h if(isLast)
3 z0 ?/ C- m6 z0 Z/ K# ~9 B( m {
3 } b* V0 v6 v$ ^6 S- C% z if(debug)
9 S1 |- A( H1 y' S {* N7 n! V2 H4 @+ o
alert("last!!");
+ M" |& f2 h. Q; Z. w! c% h }
9 h# v$ B* C0 `% m& n" w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; m" U) d, v; Q, m {2 Q# R/ z( n5 q9 m5 G% O
orgNode.parentNode.removeChild(orgNode);
' W2 I2 ?7 q# c/ F }
X4 Z0 m3 \9 w4 w3 o+ ~; f }2 b4 s. B2 B6 U' s* d
else4 J; s; x/ R" H/ d7 @' C( z
{% f" w+ i8 P0 A7 f5 }
if(debug)& u! G8 M ^* P$ v$ p
{
9 B- \! V/ n, j6 V( J4 z( \& u, i3 H3 A" e alert("compare color and parent bgcolor!");& i$ P( g s+ P8 l7 J
}. ?8 k( w9 c' T8 {& d
parentBgRGB=getRGB(parentBgColor);6 R' W/ [: y; T3 r$ E
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 N! p o! e. ^* v; _ {& l" T$ V0 s2 L& a0 E. C0 ?1 ^
orgNode.parentNode.removeChild(orgNode);
9 I8 g4 k7 n/ |) I, y ?5 J& R1 {8 N }
7 @$ D, Q# S8 y5 D% z5 x/ c }
) P: m; ?; A( P8 M# @ }
4 v3 U# s1 F Y# b* ]0 J }
$ b/ H3 x# M2 g }
! i; N! j5 L( n! A) O( p }+ L9 O; c- S* p7 u
; P7 s% k! ^+ @7 b# {, O6 N0 i
, h/ _1 O$ _* Z" m& ~ var itemFrames = page.getElementsByTagName("frame");6 ?5 i/ c, l+ p7 J9 y& ^8 D4 Z
var itemiFrames = page.getElementsByTagName("iframe");9 f ~* @4 @, _" K
0 W0 K Z8 j2 ^1 n$ @ var frame, iframe;
: C, M3 Y2 @. Y/ ?4 \* T if (itemFrames.length > 0)
# v% n f0 l# p3 i) ^+ g {$ W$ P& \9 n- f/ v! Y9 @2 A7 A( {8 o
for (var i = 0 ; i< itemFrames.length ; i++) # a& t3 u& h) k @* g% n
{
k, V; }- u+ x" A& u# K frame = itemFrames.contentDocument;* o+ z# W w0 J& z
this.RemoveHide(frame,objname);
: v; h f9 y1 L& ~ }8 L$ R* Z* q y6 E2 f
}
- C4 H- w; R) \7 M1 ] if (itemiFrames.length > 0)
1 k" y3 c9 l9 q3 ?/ N5 p$ Z {
! `2 w' O& S5 ~4 l! r+ I$ y2 h for (var i = 0 ; i < itemiFrames.length ; i++)
2 @4 u" e. F! _" r! K m0 o {5 z0 ^. t3 E' J" Q
iframe = itemiFrames.contentDocument;
9 \7 L9 b0 ?3 W/ m% {$ y this.RemoveHide(iframe,objname);
' b1 G& E& h' E7 W3 k; ] } C- I: _* v1 f6 G3 F
}" n$ G; R+ X, q* t7 q
}9 Q/ S) G' \* V& d" E4 p. j
catch(e)6 F9 s$ n r+ n/ {9 F0 O8 x
{& i& B |: j( t
if(debug)
+ E7 f z4 c! [4 i4 c% O {4 q! R+ N+ ?/ t$ [, G
alert(e.message);! W1 r& P: E7 p+ T0 V
}
% r+ `5 E- u0 H6 T& Y3 b3 l }
( ]. x `/ ]9 q, u) u+ [ }
6 @9 S3 m. w3 y2 R! M, W0 ~" L $ }4 }) Z0 N4 ?# U$ A/ m) h% A) u
}, T# }9 x2 X4 ^, y* N
! l( K1 M- e$ y" {8 jfunction getRGB(colorString)& u6 W8 K0 \! q1 [+ U4 G# c
{
9 ^) f/ C! @" I4 @( y! p var RGB = new Array;3 z5 B- D; b! y
var tempSting=colorString.substring(4,colorString.length-1);
5 R% U8 \' A8 T, K3 y4 m var tempArray=tempSting.split(",");
+ e$ J# ^3 a% p. P" [- S1 O4 E+ n& `
RGB[0]=parseInt(tempArray[0]);" t8 P3 ]% f0 d. T" R' h$ B5 h' i
RGB[1]=parseInt(tempArray[1]);; M' _5 C7 o" G2 d! m$ ?! r3 j
RGB[2]=parseInt(tempArray[2]);- k9 h9 e+ Z" g' H: [
c; W8 {& F- J% z: D# A return RGB;
[ N3 f$ u ?0 s9 k% t$ w}$ B0 ?- S6 x0 _+ r# J
function keys(evt) + C$ Z; Q5 ?7 G! S+ l$ C
{
" H" {8 i& X7 S2 r# _ if(evt.ctrlKey && evt.keyCode=="81") 6 [! U: p+ s& ]
{
% t; U, t1 L c5 n7 I CleanHideObj.on(0,1);
) K7 W0 p. K* Z alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
x0 L0 e0 G, g* o' |) k% w8 C
/ j* o1 a5 M6 B- [ }
4 h& ]+ o0 _+ p1 Z* I/ p }
8 V" V* A+ ~* v3 O9 Mdocument.addEventListener('keydown', keys, false);
9 p# O6 @: x: b6 a3 [GM_registerMenuCommand ('Clean Hide',
0 F( h, O: s! g0 |: @; d v6 f2 lfunction(e){
, k; p5 y) B5 fCleanHideObj.on(0,1)" E$ V1 |: H `4 D0 R% W
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* N3 m( E" d3 J9 h! M, m( j% W});
4 l. i1 K( H5 k0 P9 p! H. M/ P |
评分
-
查看全部评分
|