前一陣微軟更新了
IE
瀏覽器,針對(duì)
IE
的更新,使
Active
X內(nèi)容不能自動(dòng)載入,必須先激活方可使用.這些改變可以在
Adobe
的某些軟件中看到
,
包括
flashplayer.
Authorware
player,
shockwave Player,
SVG Viewer,
Help Center
和
Adobe
Reader,
當(dāng)然還有
Sun Java, Apple
QuickTime, RealNetworks,RealPlayer
和其它的
ActiveX
.
通過(guò)某些方法嵌入到
html
頁(yè)面中的交互內(nèi)容可能不能響應(yīng)用戶的輸入
(
例如
,
鍵盤(pán)
,
鼠標(biāo)
)
直到用戶點(diǎn)擊要么激活要么繼續(xù)
?
現(xiàn)在我們將使用
deconcept
的開(kāi)源代碼
flashObject
這里下載
Download FlashObject 1.3
來(lái)解決這個(gè)問(wèn)題。
基本方法如下:
只需要將
flashobject.js
包含在你的
html
頁(yè)面內(nèi),然后加上一點(diǎn)
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>
簡(jiǎn)單分析一下
1:
<div
id="flashcontent">
This text is replaced by the Flash movie.
</div>
這一段相當(dāng)于我們?cè)跒榉胖?/span>
flash
文件而準(zhǔn)備的一個(gè)
holder.
有些象我們常用的空的
MovieClip
holder.
為放入內(nèi)容而準(zhǔn)備的.如果你沒(méi)有裝
flashplayer.
那么里面的那行字會(huì)顯示出來(lái)如顯示為
”This text is replaced
by the Flash movie.”
如果你裝了
flashplayer
,那這行字是不會(huì)顯示的,用戶基本上是看不到的,同時(shí)它還有一個(gè)好處是你可以把這行內(nèi)容變成的你搜索關(guān)鍵字,
google
會(huì)很容易搜到它的.呵呵,一舉兩得.
下面這段一看就知道是什么了.
2:
<script
type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie",
"200", "100", "7", "#336699");
fo.write("flashcontent");
</script>
用來(lái)嵌入
swf,
比如當(dāng)前的影片文件是
”movie.swf”,
id
是
”mymoive,
寬是
200,
高是
100,flashplayer
版本是
7,
背景色是
#336699.
下面我們來(lái)看一下我們嵌入一個(gè)
flash
的范例
.
根據(jù)上面的基本工作方式
,
我們還要嵌入一些其它的參數(shù)
.
來(lái)滿足我們一些其它的需要
比如我們有一個(gè)文件名為
ws.swf,
我們想把它嵌入到頁(yè)面中
,
又不至于受
IE
更新的影響
.
1.
在頁(yè)面中包入
flashobject.js
文件
<script type="text/javascript"
src="flashobject.js"></script>
一般這行代碼可以寫(xiě)在
body
標(biāo)簽之前即可
.
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
像素
,
那么應(yīng)是和我們的
swf
文件的大小是相同的
.
如果你想縮放也可以是不同的
.
下面
var fo = new
FlashObject("ws.swf", "mymovie", "300", "200px", "7", "#336699");
是嵌入
flash
文件
,
在之前的內(nèi)容已介紹過(guò)它里面的參數(shù)
,
其中的
ws.swf
可以是相對(duì)路徑也可以是絕對(duì)路徑
,
如你可以直接輸入網(wǎng)站加上你的
swf
文件名字
.
在下面的一段就是我們可以加入的參數(shù)
,
從上到下分別為
quality
質(zhì)量
,wmode
transparent
透明
,salign
對(duì)齊
,scale
縮放
,loop
循環(huán)等
.
這樣我們的嵌入過(guò)程就完成了
.
如果你想使用
flashVars
來(lái)進(jìn)行
html
與
flash
之前的通訊
,
使用
flashobject
也是很容易的
,
但有一點(diǎn)使用
flashobjcet
時(shí)只有在
swf
剛一載入時(shí)傳遞參數(shù)
.
并且是以值對(duì)的形式來(lái)傳遞
,
如下
: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>
一旦這一步完成
,
那么所有的變量就已經(jīng)傳入到
flash,
你就可以靈活的在你的
flash
中的
_root
上使用了
.
deconcept
flashObject
還提供了可以加入其它參數(shù)的說(shuō)明.你可以詳細(xì)查看