前一阵微软更新了
IE
浏览器,针对
IE
的更新,使
Active
X内容不能自动载入,必须先激活方可使用.这些改变可以在
Adobe
的某些软件中看到
,
包括
flashplayer.
Authorware
player,
shockwave Player,
SVG Viewer,
Help Center
和
Adobe
Reader,
当然还有
Sun Java, Apple
QuickTime, RealNetworks,RealPlayer
和其它的
ActiveX
.
通过某些方法嵌入到
html
页面中的交互内容可能不能响应用户的输入
(
例如
,
键盘
,
鼠标
)
直到用户点击要么激活要么继续
现在我们将使用
deconcept
的开源代码
flashObject
这里下载
Download FlashObject 1.3
来解决这个问题。
基本方法如下:
只需要将
flashobject.js
包含在你的
html
页面内,然后加上一点
javascript
代码嵌入
flash
swf
就
ok
了.
它的工作方式如下:
代码
:
<script
type="text/javascript" src="flashobject.js"></script>
<div
id="flashcontent">
This text is replaced by the Flash movie.
</div>
<script type="text/javascript">
var fo = new
FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.write("flashcontent");
</script>
简单分析一下
1:
<div
id="flashcontent">
This text is replaced by the Flash movie.
</div>
这一段相当于我们在为放置
flash
文件而准备的一个
holder.
有些象我们常用的空的
MovieClip
holder.
为放入内容而准备的.如果你没有装
flashplayer.
那么里面的那行字会显示出来如显示为
”This text is replaced
by the Flash movie.”
如果你装了
flashplayer
,那这行字是不会显示的,用户基本上是看不到的,同时它还有一个好处是你可以把这行内容变成的你搜索关键字,
google
会很容易搜到它的.呵呵,一举两得.
下面这段一看就知道是什么了.
2:
<script
type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie",
"200", "100", "7", "#336699");
fo.write("flashcontent");
</script>
用来嵌入
swf,
比如当前的影片文件是
”movie.swf”,
id
是
”mymoive,
宽是
200,
高是
100,flashplayer
版本是
7,
背景色是
#336699.
下面我们来看一下我们嵌入一个
flash
的范例
.
根据上面的基本工作方式
,
我们还要嵌入一些其它的参数
.
来满足我们一些其它的需要
比如我们有一个文件名为
ws.swf,
我们想把它嵌入到页面中
,
又不至于受
IE
更新的影响
.
1.
在页面中包入
flashobject.js
文件
<script type="text/javascript"
src="flashobject.js"></script>
一般这行代码可以写在
body
标签之前即可
.
2.
把下面这段代码加在它下方
.
代码
:
<div
id="flashcontent" style="width: 300px; height: 200px"></div>
<script type="text/javascript">
var fo = new FlashObject("ws.swf",
"mymovie", "300", "200px", "7", "#336699");
fo.addParam("quality", "low");
fo.addParam("wmode", "transparent");
fo.addParam("salign", "t");
fo.addParam("scale", "noscale");
fo.addParam("loop", "false");
fo.write("flashcontent");
</script>
从上面的代码中我们看出
,
我们将要把
FLASH
放在
id
为
flashcontent
层中
,
它的宽为
300
高为
200
像素
,
那么应是和我们的
swf
文件的大小是相同的
.
如果你想缩放也可以是不同的
.
下面
var fo = new
FlashObject("ws.swf", "mymovie", "300", "200px", "7", "#336699");
是嵌入
flash
文件
,
在之前的内容已介绍过它里面的参数
,
其中的
ws.swf
可以是相对路径也可以是绝对路径
,
如你可以直接输入网站加上你的
swf
文件名字
.
在下面的一段就是我们可以加入的参数
,
从上到下分别为
quality
质量
,wmode
transparent
透明
,salign
对齐
,scale
缩放
,loop
循环等
.
这样我们的嵌入过程就完成了
.
如果你想使用
flashVars
来进行
html
与
flash
之前的通讯
,
使用
flashobject
也是很容易的
,
但有一点使用
flashobjcet
时只有在
swf
刚一载入时传递参数
.
并且是以值对的形式来传递
,
如下
:variable1=value1&variable2=value2&variable3=value3
使用方法如下
:
代码
:
<script
type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie",
"200", "100", "7", "#336699");
fo.addVariable("variable1", "value1");
fo.addVariable("variable2", "value2");
fo.addVariable("variable3",
"value3");
fo.write("flashcontent");
</script>
一旦这一步完成
,
那么所有的变量就已经传入到
flash,
你就可以灵活的在你的
flash
中的
_root
上使用了
.
deconcept
flashObject
还提供了可以加入其它参数的说明.你可以详细查看