写技术文档是第一次, 没什么经验...
$ S2 i r% C# W$ f) x5 S c
只希望大家能和我一起分享,我的成果.
+ ^- f& Q5 r3 \ D* O
可能用语方面不是很正规,要兄弟们费神了,
: l/ j1 V4 l5 b+ L7 U' n! d
请高手们多多指点............
! q7 L/ O& M) r, t# l# ]! O好了,费话不多说了... 进入正题.
: x% r1 ^& a/ J- K( }
* p9 |4 Q( F; X" W$ [$ _( L- J1 U
3 f- O2 {0 @6 ^0 v8 L. ^, x5 }. }. r
在论坛上面,看到了好多帖子,是关于FLASH的有30%(可能有点夸张..)
2 v5 Y: u& ?$ f是"怎么在网页中插入的Flash上加超连接","如何让Flash接受相应的单击事件等"
' f# Q) M6 r. r) ^: R$ y
这类的问题. FLASH可能是点特殊吧,不能直接用<a></a>来设置超连接...
/ w4 `6 p6 D9 Z4 ^. _( d6 _也不能直接加入事件,所以才有这些问题的出现.
+ }* H& _6 Z2 z8 S" v( N0 F2 t9 {( ?1 U, m* b
在搜集的相关的资料,加上自己的测试后.终于可以给以上问题个答复了.
6 r( H* n2 Z' j! R" |* D+ v+ \我先把研究后的代码贴出来,然后在进行分析.
4 d7 h0 B% E. ]& s" C+ G; ?- U
( {7 d5 n) ], X6 r$ H) I0 {
' k: I: @; \ k5 x3 N7 \7 e3 V7 l
# w( k! v0 _, p5 p; r<div style="z-index:-1"> <!--1.设置FLASH为底层-->
7 I' d2 r) q4 y j( {
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="200" height="115">
# I/ v! i E; ^/ ?5 P' K ^ <param name="movie" value="media.swf">
0 S; K( V# _- x' P# Y7 `; K2 [
<param name="quality" value="high">
3 {( P& e! \0 W$ p: V
<embed src="media.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="200" height="115"></embed>
" z3 t* v, t; @9 F/ z0 W <param name="wmode" value="transparent"> <!--2.必须把FLASH设置为透明-->
$ u1 T3 x8 w- c) e</object> </div>
. M R6 ?- I y" R' G- {' n<div id="huiLayer" style="cursor: hand; position:absolute; left:10px; top:10px; width:200px; height:115px; z-index:1; visibility: visible;"><a href="http://www.cnlk.com">
& x1 _* {' b6 M# j2 g<img src="kong.gif" width="200" height="115" border="0"></a></div>
; B' F" s: e7 s: @% n* [<!--如果直接加个透明层的话,我试验过了,是不行. 可能高手们有好的办法..-->
3 _* f- V3 e. A+ J. @6 g* |6 N) T/ N
<!--3.所以,我在透明层上加了个透明的图片.就是kong.gif 设置超连接.-->
6 T% {; A) T! ~8 t, E& y2 M<!--则,kong.gif 在FLASH的上层,点击连接,连到
www.cnlk.com..-->
- j4 Q. n! B0 b6 `3 l<!--1.2.3. 是标注的重要点-->
+ I4 u$ H1 B3 ^
. Z! {, z% z; E) O# m $ u# Y2 e; `4 q( ~# a: T
/ @ ^' c& X* H# y* q0 t" ~$ K% n$ q7 [# C j7 ^" j
首先,我们肯定是要先插入FLASH.因为,Flash默认是最高层.所以,
) ~5 g3 c; B2 |! p+ M/ i8 t' s就会出现Flash把下拉菜单挡住了.
; L0 o: a. I' [3 B把Flash文件放到一个层中,设为最底层,FLASH设为透明.
% O( \7 N& ~9 u2 J<div style="z-index:-1"> <!--1.设置FLASH为底层-->
+ m' d3 _1 q% V0 c
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="200" height="115">
7 q& A. U' E& s3 V. \0 k2 S4 z <param name="movie" value="media.swf">
" u1 |" ]) q* i- K5 ]& Z
<param name="quality" value="high">
k; M4 w; e( s) d8 N% D. i* X
<embed src="media.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="200" height="115"></embed>
% j. u+ ?/ B! o' m6 g
<param name="wmode" value="transparent"> <!--2.必须把FLASH设置为透明-->
, N+ N0 `# @( Q+ Z% c
</object> </div>
4 g2 i/ C0 A+ y
- S) `3 F, A9 p再接下来,就是在FLASH的层上再加上一层,
$ e6 _# ~# s5 |, |! y" ~$ F, EFlash本身不能直接加入onclick.等事件,所以,只能借助别的东西啦.
W9 r! u5 w+ P就是在FLASH上加个透明层,
6 u% E1 c. x! u- N& y<div id="huiLayer" style="cursor: hand; position:absolute; left:10px; top:10px; width:200px; height:115px; z-index:1; visibility: visible;"><a href="http://www.cnlk.com">
2 Q' B. Y+ B4 i/ X; C
<img src="kong.gif" width="200" height="115" border="0"></a></div>
( n; h! k! X- I; I+ C
论坛上面,给了一些解决方法,就是加个透明的层,但是,如果光有个透明层,
1 [. l8 @+ X, O7 V还是不能接受事件的. 更确切地说,是一部分可以,一部分不可以,和FLASH部分重叠的那一部分不行.
, y, Q6 K% S) x/ A, k9 Z
为什么不行.说实话,我也不清楚,我是试验得出来的...
5 `# M! s0 g0 \ @1 Y+ ]
4 H% F- [- P3 d2 F% @: ^# _当我把这个层的背景颜色设为任意一种时,不是透明时,发现.可以接受事件了,在层上加了个
! o& o0 X( l: o% @( R; x# i超连接,也可以.. 但是,这还不是我们要的结果.因为,把整个"精美"的FLASH给遮盖了..
: b2 Y, P, \/ ?! C6 W& c) L' O
所以,有<img src="kong.gif" width="200" height="115" border="0">
% D2 s5 Q0 f8 V g8 F( N- z
我用PhotoShop做了个透明的图片kong.gif 大小都可以,但是必须是透明的!这样
( p; \* p* P) r7 e8 ~才不至于把底下的FLASH给遮盖住了.
$ h( S7 i9 Y# T0 P( q) b试验了一下... 成功了... 点击FLASH.其实是击中了FLASH上层的透明图片kong.gif
/ P( ]' r' O/ i6 Y3 e5 V2 x% ^8 U图片,就可以接受很多事件啦,onclick , onmouseover ,onmosueout ......
4 U3 {7 W: d; u4 R
给图片加个<a></a>超连接是再简单不过的事啦..
' g' f3 c$ L0 M
这时,以上的问题是不是都解决了,把事件都给kong.gif接受!
" t. P3 E+ k b' I& K& G4 Y, N单击事件, <div onclick="ok()" id="huiLayer" ...........