前一陣微軟更新了
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
還提供了可以加入其它參數的說明.你可以詳細查看