|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 : _$ t0 `4 [9 d+ N5 X
+ `/ K% S/ M9 r2 @) v火狐插件,用猴子7 Y- i! p- Z+ q% d- ~; S; E
+ x* ^$ P1 ?$ J+ \
var debug=false;
( R( Z3 ^- N1 lvar CleanHideObj=new CleanHideClass();
* C6 y1 F) f2 z5 X4 [' O. j7 @# f( ^7 ^0 A; i
function CleanHideClass()
$ }, `; J. Q: t{ 9 R1 ?: r3 A2 q
' ?6 q V( a( V; Y5 O7 Z( E this.on=function(id,bMZ)
3 b- t; y4 k( E% m: N {
# C4 u6 b5 ^9 d- X6 k! C9 ^ / J; i$ E3 l( _' \3 u
if(id == 0)- z& B" I( l& H0 ~4 J' B' O2 v
{- s z+ L; }" R% U9 U# @' p7 w% Q
var page=/* document.getElementById("content").contentDocument */document; " s, i, b/ s7 Q9 x
this.RemoveHide(page,"span");
* f3 }, ^' M9 h# D1 u7 |+ P this.RemoveHide(page,"font");" s+ Y+ @, }; ? M
this.RemoveHide(page,"div");9 u" @! S' F: [& s% `
this.RemoveHide(page,"p");
0 b$ r* X8 k5 Y" `' ?; e
4 @% _7 s' R+ _9 V9 \5 ] }
1 O* M7 l& h6 Q* \9 ]% A
3 e8 i! E% q! R) W }2 l* T( ]8 P5 Q5 m( I
this.getobjstyle=function(node,prop)
5 z0 i" H' U& S3 L; t. B {) |& k& o/ [4 i3 }: P7 Y
try
+ Q5 Y N& V X" c4 d8 v {1 K1 Z4 F4 L0 M! [& B/ i7 w( s& y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) Q+ M2 e( u- u- \; \4 g
}
) u# X+ E6 f2 x1 M0 k$ z catch(e)
7 k# R& a7 u+ J3 G5 P! I {7 f( d; J# v+ M
if(debug)
. Z3 ]! s( ^+ |: e3 @, \ {* T- C) f4 l% }# {2 e% a! _) R
alert(e.message);
' Y" Q3 n# X1 F7 y5 T }' P/ k6 D; U; W( S
7 Z6 G; v# J- [6 i2 K
return "200";4 c8 J' C& C# w3 [+ z! U6 d
}
' K2 V, i( s5 t. c( a, ` }
L+ j% [$ m1 o6 j6 T 5 u( e4 Y5 k: k7 ~* J+ \
this.RemoveHide=function(page,objname)
D' r: C0 j( c: G% ^ {6 s7 ~% }' \) n2 \$ m
try6 j! W/ W0 m0 J/ }
{
1 i, A! _; a8 ]7 ~: O% w/ t& g D var minValue=15;
7 k8 \5 O7 r# N+ [/ C. x var objs=page.getElementsByTagName(objname);
" k8 o1 ~ f2 H+ o& P$ f. p) I! @, i m) j, ~; \& v( L9 Y
if(objs.length == 0)
/ [# P1 o. q3 i% @) U3 w4 y( P {
' h& W. e+ w) m8 E; G if(debug): K8 e- Z" p9 c r( q3 A# \: E
{
/ L. o0 T, {/ v- e. j# K alert("no object found!:"+objname);
$ X5 K3 L% o( x( w! t/ Y1 F( O }
h1 [/ I# m; S( m7 [( X3 G- z% D }
( s, \3 V% [" K+ b h8 W/ n else
0 k; |. W; K$ ]; H/ z# V {
. ?; \' ~% t5 D9 l; B( b
+ e, g1 q. ?2 P" e1 ^0 x for(var i=objs.length-1;i>=0;i--) 8 X+ Y+ V2 ~9 j$ H6 Q
{
3 V% z. |$ D; c; [0 K2 w var node=objs.item(i);
w. A8 O9 ^+ b" ? 5 Y# A9 x: v7 Y
* \, ^5 I3 s7 k3 h; y9 a/ f' C+ c
if(this.getobjstyle(node,"display") == "none" ||0 t2 ?( N' @ d$ J" \' l0 a
this.getobjstyle(node,"visibility") =="hidden" ||9 ^$ Q. y+ e0 P9 W0 E
parseInt(this.getobjstyle(node,"font-size")) == 0)
" p4 |) L0 `( |4 |) R {
8 [) d. a6 y3 K% O( Y5 R if(debug)
/ W. K+ ?* `# N# e6 L {, O6 D5 t1 e G; c; R* `' b- O
alert("remove invisiable!");" S- i9 Y- C9 w$ ~6 y
}
7 s8 G1 L" p) s8 ] node.parentNode.removeChild(node);
( y1 l) `" @3 _; E 3 @% q& m+ t3 \5 c7 d
}
7 O4 k+ \9 U. Y( r5 l" H- L else + h8 Q/ t9 B) [1 S, {
{2 O# s# H7 M2 }9 t1 r' e3 P
if(node.parentNode) X& O6 y% n4 }) c' x: F6 ]$ M* N7 C
{
- g( p( `! t4 y9 y5 ~7 y var orgNode=node;2 q( B0 h: i' j
var orgColor=this.getobjstyle(orgNode,"color")+ c# o9 ^6 o* B4 L/ Y+ J
var orgRGB=getRGB(orgColor); 3 w& U$ Z9 c2 ?" I7 M6 ] ~
) x0 j- W, Z4 U3 W, Q1 Y var parentNode=node.parentNode1 W) r9 T/ p7 Z" a
var parentBgColor=this.getobjstyle(parentNode,"background-color");
& _" z# b, f" [; ~ ) L# Z8 w- S4 }0 S8 V
var isLast=false;% x2 O5 b! u+ v4 j" A4 H8 j) |: y
* A' l" s2 H; e. V
while(parentBgColor == "transparent")
4 L4 s0 J* _2 |$ ^1 s {
( c( V% h$ L& u6 l" K+ [ ) S: Z& ?) F: `- X! `
( N5 U3 G( F0 K! J$ g1 Q" Z4 r C if(parentNode.parentNode == null)
+ n$ m0 a, V) x. m {. l4 k. [2 I# z2 t$ v
isLast=true;
9 H! I0 k8 k! m9 g' L break;
6 K3 g4 y( k/ }& Y: z! Z/ j& I }& E0 e- G% o2 C. y- S
parentNode=parentNode.parentNode;
; S6 w9 b3 ~! R! B parentBgColor=this.getobjstyle(parentNode,"background-color");' ?9 [0 x7 @( p* W- d
; t4 a8 X) r7 c
if(parentBgColor != "transparent") , P/ M6 k1 m! L! b
{7 Y/ x# y4 f; X c! P9 g
break;
4 w4 x$ J h. m( ] }
4 v% L# J* i( S( e7 r }
3 l/ t* G/ y6 v7 l8 K# ^ if(isLast)
. @7 D* O* |: l( l' T {: v2 J( S7 s9 L
if(debug)
6 G/ `/ z0 O7 K- R1 X9 ^ {+ D4 x2 X4 o; z$ T; R
alert("last!!");6 k/ s/ i& r, E0 D8 t& B& z% C* x" K
}
$ w: e/ n9 }2 f x: I& s if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 i( `+ X* l. t
{
! J1 r; ~: x0 V' J1 P# T7 V orgNode.parentNode.removeChild(orgNode); ( i2 }# v( ]! m6 Q6 w' q n
}& I4 q$ B R: P. Q; r1 }
}
, V$ S6 \/ d; y; O. m else, ]( C# g* d+ B0 b. T, [
{
; I/ C2 E* k: o, V4 s, D2 u/ S if(debug)- u& \8 N' T8 `9 Y9 \2 U
{( `0 [4 y5 m1 _- w1 A1 W
alert("compare color and parent bgcolor!");
9 E" d" D4 K( n" d0 J' O, m4 X }
9 u. J7 O7 E# K& @ parentBgRGB=getRGB(parentBgColor);: N3 i H* f' v- y/ Q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. _4 I* _, d& L+ Y: D {/ I& [, ]! R3 Z2 q7 P; ]$ T/ T
orgNode.parentNode.removeChild(orgNode);
. l& x8 W& B3 l; a }2 e8 _" a8 i: U: Y
}# }3 N" D' k' l; m' x
}
9 j3 C6 L& O! E U! i }. M+ V3 l& p4 N& S
}
8 y1 T& s9 T2 H }9 r' v1 K( { T. V) J3 [
% ^/ g2 O6 }% ?
: i2 s; {! K4 u& I! d) ]7 S' Z var itemFrames = page.getElementsByTagName("frame");: l- g) i9 O" _3 L6 d8 _
var itemiFrames = page.getElementsByTagName("iframe");
" D+ P' b4 c. k. v- E" _
4 ^7 p R! Z# M- @+ v; y$ ` var frame, iframe;
/ `8 O' {0 b1 d6 k4 Z R9 o if (itemFrames.length > 0)3 I- p& h o L9 P: O! l( L
{
0 D8 [+ r/ d1 p for (var i = 0 ; i< itemFrames.length ; i++)
* s1 h. | A2 ~" `, d7 ~, }2 N {
# T9 v" y7 G+ c( z frame = itemFrames.contentDocument;/ F5 t% o- C$ D' Q! @7 `, A# ]
this.RemoveHide(frame,objname);
* d6 z k; N7 ] y, _; } }
( r# c$ C @ _: R6 J* i }
- f3 C/ l; x" j8 x& G if (itemiFrames.length > 0)4 ~% O2 D) B d* p
{
" }* J+ ]1 C! k' b+ [/ S% y4 w! A for (var i = 0 ; i < itemiFrames.length ; i++) ) e+ ^9 J) Q3 e- z: T* O1 z7 i- n
{0 a- W& n! p3 C9 z/ L
iframe = itemiFrames.contentDocument; _/ k* g6 P; W; O
this.RemoveHide(iframe,objname);
9 P4 O Q; }9 i" M9 ?6 O* s8 A }4 {- s0 w- B7 ?& B
}! _) D8 m9 P$ p+ G
}$ ~! _; W- o8 J
catch(e)
C1 i5 ~3 h0 d* O8 j9 r0 M {9 [( f; a& r1 p" Z: f9 {' t7 [6 I& g
if(debug)2 u% A) P" M( ]$ T( h, L" b9 Z7 I1 L1 P
{
. U0 A9 W' ^9 |! t alert(e.message);6 G5 @! v+ ?" o4 l8 K( w
}) J% \) [ ` r1 P# e5 N/ L
}
5 {, P% r" }1 a1 f# ]0 \, H }
! T7 M7 a0 O9 z \1 d
7 _& c5 G4 ?, H$ V, K}) z( G; T! R- J$ T
% U6 l" N, Y5 B+ R5 W* w
function getRGB(colorString)7 j+ J% m, w9 [" X9 F- S" D
{
/ [5 @& t( e- ?! G2 b5 P2 d var RGB = new Array;# e. t# E) @- J3 m+ b+ s% l$ p
var tempSting=colorString.substring(4,colorString.length-1);/ g2 `* _# l+ g7 z! X
var tempArray=tempSting.split(",");
9 ^" `3 S5 y+ b5 T( a) H7 E; M
) e4 e& x! q$ W$ F- E RGB[0]=parseInt(tempArray[0]);
* ]/ }4 n7 [' t) s; o# \, o- Z6 U RGB[1]=parseInt(tempArray[1]);
# m# P9 I" \" ^# ]$ [4 B$ W1 J RGB[2]=parseInt(tempArray[2]);/ q, x5 n+ a4 D5 Z& D
4 n8 n* ^- f9 M+ j7 c* n8 R3 N3 { return RGB;+ w1 x* Y* y9 U( i
}" H% g% L9 v6 C' y
function keys(evt) ' s. k e, `% Q9 i/ V' N
{ 4 @+ N x5 K/ C9 m/ }- o0 n. i! O
if(evt.ctrlKey && evt.keyCode=="81") ; }/ L) o1 p' g$ I, k4 ~, f
{ , V( P& H9 u' }( N. ]0 T/ L( K
CleanHideObj.on(0,1);
+ U& Z- z) N e# w alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ m* Z9 r: _( _9 c& A) \! v- Z 6 C4 a' ?, d* [; E- w$ A9 `
} 0 [1 o D& q5 b1 d) R! ^5 b
} 9 G/ M$ f" Y8 d, E$ V. q* j. g. h
document.addEventListener('keydown', keys, false);
! V2 r% v `9 P0 E, C( @GM_registerMenuCommand ('Clean Hide',* ?2 y* J/ q$ L, B5 o e0 S
function(e){8 W" k" U2 ? [, s4 z
CleanHideObj.on(0,1)3 L2 G# R6 U* m0 L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( b$ k6 j0 u) y# [+ I. C: `
});
/ [: Y6 u% N2 ]" ]2 k; @ |
评分
-
查看全部评分
|