|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ |& ]* ]9 q" P6 J- W( s
/ V; e9 \& ?# B: n- y P% `火狐插件,用猴子
( w+ c/ o2 }+ _
# S5 l3 {1 ~' L( g3 ]var debug=false;
7 M+ w4 ?+ [' [* Bvar CleanHideObj=new CleanHideClass();; W* g# j5 |2 |* h
! L! M; k. V$ f9 v0 D9 Q$ v
function CleanHideClass()
' g: a/ @- h: a" Z{ $ Y; H" O+ b# T* E! w: h3 `
' y5 @# E8 E7 j! U' T8 p% {9 z* R this.on=function(id,bMZ)
$ K$ M% [. Q6 q# S {
0 s- e7 u8 V0 m3 K0 u; a % z% ?5 ^ X+ o! }. r; x; t
if(id == 0)( T6 Q E0 I8 q* Q
{/ n4 H3 b! n) R2 j
var page=/* document.getElementById("content").contentDocument */document; 9 d; A' a; U; f4 h6 K1 g9 Q
this.RemoveHide(page,"span");5 b* t$ z( n# D& A- ?
this.RemoveHide(page,"font");
& f5 [5 S" b! ?( s% Y* C this.RemoveHide(page,"div");* \( J, K) W! [2 V' d8 e
this.RemoveHide(page,"p");4 |* I b7 I0 L8 |& x# v7 b
. W% b. N9 t. g0 m; z
}: u" A) c4 s, Y# Y/ o
" W# v9 v3 B4 `0 X }
4 H. j2 \: |' G% y# e this.getobjstyle=function(node,prop)4 ?) E* {1 Y+ v# L) ?- H+ ~
{+ x# O: y& B( b. x9 x. d: H
try+ ~/ ~! k' A6 C; }7 p# S
{/ f+ f2 ^' v9 R4 Z& t
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& ^% d0 m0 y( s. N. J7 {
}
' o3 r$ _" i9 \$ F- V4 V catch(e); \' J' l4 l ^+ w( P; v) H
{& N+ }% U8 u3 b. H/ ~: P4 V% L
if(debug)
9 u# P2 r7 |4 g2 C {
$ I [% E8 B0 U2 j+ d0 t alert(e.message);
6 ~! j1 D1 |. o/ C8 l }6 K2 L( @( M9 X7 Z$ a7 ^
$ x4 _- Z! P3 X1 a5 K4 K: [
return "200";6 M" u; j" z0 H6 t
}7 ?" X$ p: v, ^+ X% O% f. R; d
}0 J" x- ^3 O! f/ E9 u4 F
4 x% Z5 U0 s- E6 `
this.RemoveHide=function(page,objname)
+ n {+ u5 p. M4 v1 F; V) ~ {
1 ?$ ~, n- o: m: D$ Z! [' ] try
& a. ~" l* a: D$ M- Y {
0 w! O) x3 G! m var minValue=15;7 v& ]5 f# Y. ~( j( @# F8 S
var objs=page.getElementsByTagName(objname);
; f! I8 R7 y1 r
$ @4 h' x0 C8 h: [1 U" p if(objs.length == 0) - T9 b5 f' O( `2 q$ q/ S1 x
{
/ I( T: U5 ?0 ~% _ if(debug)0 C4 b1 C o$ x7 v
{. a6 ^- F0 O9 e2 d- b! Z
alert("no object found!:"+objname);
* n7 a1 y4 j5 J/ Z6 A }$ g9 ~3 r9 e$ A! i0 W
}" R, T' L, b+ ^+ h- d _
else0 l$ W( r* [% a$ d* Y* n! Y
{0 x4 d0 G. [. Q) q1 u
4 ]& P0 S3 x4 o* C, S4 P for(var i=objs.length-1;i>=0;i--) 1 B b+ k$ L" L) @- U( S
{# A( U B) d. A! f; s+ |/ n
var node=objs.item(i); ) @; U9 y5 z) A
2 U) T+ D3 m, u# x
9 L! S) i" e8 l! X% \. }. u
if(this.getobjstyle(node,"display") == "none" ||
' D4 l' n7 d0 K- Z# I4 P this.getobjstyle(node,"visibility") =="hidden" ||
) t- R$ y& y1 l" c* k- v parseInt(this.getobjstyle(node,"font-size")) == 0)
5 R/ h) ^! e2 z Q# m {
1 E' E& o( j8 y if(debug)
4 L7 _0 [' w3 e: T& q) @ {, O% ^- D; K8 z! _& f
alert("remove invisiable!");
2 M/ J' }+ J. [1 P6 O/ Z& K9 B' O }: |5 o" J2 q# Y* R. c4 f
node.parentNode.removeChild(node);
+ \: @( S4 n* M/ w
3 W6 L3 i7 I( k# v/ ^( l4 `" Y }4 t& i0 R- {* P5 q' Z
else 2 }' i1 v8 G3 y& i3 |) Z
{
- O( B; v& `( o0 M if(node.parentNode)
8 u% M7 @! o$ M- k0 G" P {
4 A/ `8 N( c4 L var orgNode=node;
0 K) Q4 b+ R6 v. ] var orgColor=this.getobjstyle(orgNode,"color")
& f" Q8 B% z( k* [ var orgRGB=getRGB(orgColor);
$ L* f, u: x! V5 H3 M& r# X7 S
; l* D+ Y, {. [: t b! q4 S' h var parentNode=node.parentNode: S* q& ~+ N8 E! G, ?9 [; k
var parentBgColor=this.getobjstyle(parentNode,"background-color");
% j& V! H& @0 f: C; }9 ? : d( _3 Z; C1 N m7 z+ h
var isLast=false;# t5 y a* d0 Q* u! G( V( u# t
! G: {# f" u0 Y& l3 t# F6 t
while(parentBgColor == "transparent")
8 v. j7 a: p5 c$ Q {
% F* Z# f8 w( s( G2 E& ^8 C # x8 z0 t0 C4 A
3 U5 g5 n3 ~ @4 o3 `" L
if(parentNode.parentNode == null)
! D6 b: E1 S! }+ r0 J {
4 C& J/ ~0 E1 {: p- ^6 j$ E. }8 [ isLast=true;+ y/ M7 Y; m+ @# ^$ `
break;$ b `# y2 \6 S& F
}
2 }& C: i# W$ p$ d! _0 A parentNode=parentNode.parentNode;
* {. e- f g; c2 i8 j parentBgColor=this.getobjstyle(parentNode,"background-color");0 d; S5 R9 Y7 O* ` W, U
; L6 V/ u7 r! D; X" E
if(parentBgColor != "transparent") : \0 P0 z' X$ ^$ \+ G2 o, N: {
{
# M( m% ^: o. w% _( W break;" L; N1 ~5 ^# V/ y5 i9 o @4 }
}
" F7 x# U3 t+ }3 A: Y }
/ z; W& _' i( U2 d9 c( l if(isLast)
6 _6 c7 B! L2 D7 H. k8 g$ z {
: k2 m6 Y, q2 x5 K, x* L6 w if(debug)& j5 c" T% v0 D9 F
{
8 r. W# a; ?. |( v alert("last!!");$ B- H5 @6 m0 U: n* x
}" j% A/ W' M! V0 j2 r
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))' |1 k9 J' i( R" m( W4 ? s
{
5 c' z1 M+ C2 Z9 K" S orgNode.parentNode.removeChild(orgNode); & N+ l$ t) e$ l8 { O3 n
}
0 c- e( C$ n( j. ]$ x" [3 i }/ e0 z0 J. P7 t9 B y
else* j0 p9 z7 i% o0 C
{5 Z0 f. x3 t6 G: O) O6 i" \4 x
if(debug) z! e) w( v$ K: S
{
' O" R" V, `9 s" m! o alert("compare color and parent bgcolor!");+ z* r* @% c& c9 S( u: w: S9 w
}
! T1 E! S8 n7 b n& V4 H7 H parentBgRGB=getRGB(parentBgColor);% Y/ I; z0 k: q8 u
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 o% V* {; D% j
{, D! k- d# d1 \0 V
orgNode.parentNode.removeChild(orgNode); ; T3 z! ^' r- o( N- x
}* d% \* C3 l: G1 _ D$ T, A) U' O
}
6 j& {0 [8 Y/ J6 ? n& \- a }+ W, X% p. N3 k) T1 i x
}
# O; u+ ?) K1 u+ j }* V0 T9 L3 O) M% Y2 q
}
, e! h; ?6 m$ L( E- K, q ) H5 E% @, e1 w1 P) a" {
P. c I6 D1 s& X2 f var itemFrames = page.getElementsByTagName("frame");
' C* X9 [8 A6 l6 i+ k var itemiFrames = page.getElementsByTagName("iframe");3 E( U. p/ K q6 N) o6 K% e/ G4 |
: ^, l* ]/ q' E3 P1 b
var frame, iframe;
& a5 ^' C5 `( _( ]" X+ x if (itemFrames.length > 0)( @3 s/ c n2 g' D( @4 k. x( x
{
% U5 }9 P# V( \9 V4 S) L1 o/ b7 _ for (var i = 0 ; i< itemFrames.length ; i++)
! o n3 \* p, ]) Y, I8 v) q {& H% {1 ], r: T0 J
frame = itemFrames.contentDocument;/ E8 D5 ~% t# J/ Y
this.RemoveHide(frame,objname); $ [' o* }: e5 M9 _
}
( X+ U7 ^! m2 b! _ }
. r6 a# b; k2 q! |& }3 [ if (itemiFrames.length > 0)& b- s5 B* `/ U9 ?9 X
{5 Q1 Y, M: Q! g5 v6 k
for (var i = 0 ; i < itemiFrames.length ; i++) 3 Y5 P( e# ]+ u& w
{
3 w8 L3 l5 ?- \) Z- L" W# U2 i iframe = itemiFrames.contentDocument;9 p* U! Q8 Z& K0 A) E# t& A
this.RemoveHide(iframe,objname); ' e" q2 R o+ }" E( q3 a/ b
}
Q U- I6 h* V- }7 C }8 t% r* D: F( q4 n" e
}
: @3 K; ^+ x! @! t' k# w3 i( Y N catch(e)7 V" c7 D1 |( O8 d: q
{
3 W( r: G4 y6 ~, R: K5 I if(debug)
) M) B- \8 I$ b( b/ ` { {
5 O7 y4 Y3 R6 U) A# P2 d alert(e.message);
' U" \1 U1 Y! x% n4 ] }4 D3 B4 r/ W0 s: b2 F
}
/ ]. |+ A7 Z# j0 L }
9 a+ u/ _6 i: n. j& n5 j a! e
- N# e& I5 |0 \/ `& u8 u" p}
3 W% @% J' R9 [6 f' ?$ I: ]
8 C& l% I, H# ^! E9 K0 B' `" rfunction getRGB(colorString)
$ z b9 T R( B. r/ B0 c{
0 v6 V5 W/ h. D: ?( P9 X- q7 s var RGB = new Array;- o, r5 G: f) W% N" q. ^
var tempSting=colorString.substring(4,colorString.length-1); @+ r8 F" v( f4 g/ c! l
var tempArray=tempSting.split(",");8 A6 K. C, M! c) r. y
+ N, Y. U# l1 S; t9 L( B RGB[0]=parseInt(tempArray[0]);
) D4 w, h! @* l, q RGB[1]=parseInt(tempArray[1]);
6 t/ g3 L2 V1 O RGB[2]=parseInt(tempArray[2]);
Z e2 \1 S3 h( s4 P/ w' o g6 k: Y) z# L( |' Z
return RGB;
! v4 E; ?4 K/ C}
0 ^& W; U# H2 S/ h0 r4 q A6 Efunction keys(evt)
4 W( W4 _1 O" E8 x: M { / T: [7 H) E. A. d: y
if(evt.ctrlKey && evt.keyCode=="81")
3 R0 [$ _4 l! l { ; z' G5 X1 {8 ^4 h3 Y; V
CleanHideObj.on(0,1);
8 t3 |- X+ U7 w5 Y l8 n2 J9 f alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . D; C0 e+ t! y& A: {8 R9 J" A$ \
! \, _7 P- C. @( c/ g }
6 Z1 v# \% Z; e3 B }
6 y! Y6 |" J! l: A- gdocument.addEventListener('keydown', keys, false);
) N4 E* h* w/ e7 {* ]GM_registerMenuCommand ('Clean Hide'," T5 |) A3 U8 r8 o) Y6 L0 t" m
function(e){
( A1 y5 O7 C$ ^! ~, }& c4 eCleanHideObj.on(0,1)
$ G4 Y0 V7 q# h/ e5 P4 zalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 d, X. Q% T) n6 o( e});
& I( v; E, y& g6 T( v3 _ |
评分
-
查看全部评分
|