FlashObject詳解:Flash的檢測和嵌入Javascript指令碼

來源:互聯網
上載者:User
javascript|object|指令碼|詳解 可能很多人並不太瞭解FlashObject,特意把官網翻譯整理了下。(E文有限,如有錯誤,敬請指正。)

官方地址: http://blog.deconcept.com/flashobject/
目前最新版本:FlashObject 1.3
下載地址: http://blog.deconcept.com/flashobject/flashobject1-3.zip

特點:
1、支援所有flash內建參數設定。且設定更簡單方便。
2、內嵌flash player升級探測器,並提示升級。
3、完全通過XHTML 1.0 Strict驗證。
4、可以解決IE升級對flash的影響,支援絕大部分瀏覽器版本。

使用方法:
1、首先下載上面的flashobject.js檔案,放到你的網頁目錄下。
2、調用js檔案,在<head></head>中加入:
<script type="text/javascript" src="flashobject.js"></script>
3、設定需要插入flash的htm代碼:
<div id="flashcontent">這裡放上你想替換flash的文字。</div>
4、在上面代碼後添加flash的設定代碼:
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.write("flashcontent");
</script>

上面FlashObject中的基本參數設定依次為:檔案地址,ID,寬度,高度,flash版本,背景色。
選擇性參數有:
useExpressInstall: 快速升級flash player 值為ture/false;
quality:播放品質,預設為"high";
xiRedirectUrl:指定完成(useExpressInstall)快速升級player後的定向網址。
redirectUrl:指定flash player版本不正確的定向網址。
detectKey:flash檢測的地址參數,預設為detectflash。如:要不檢測flash,可以在網址後面加上?detectflash=false。

fo.write("flashcontent");是把flash內容寫到id="flashcontent"裡。

Flash參數設定:

一般的flash參數設定為:
<param name="quality" value="high">
<param name="wmode" value="transparent">

而FlashObject的參數設定為:
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100%", "7", "#336699");
fo.addParam("quality", "low");
fo.addParam("wmode", "transparent");
fo.addParam("salign", "t");
fo.write("flashcontent");
</script>

更多的的參數請參照Macromedia的詳細介紹:http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_12701

Flashvars變數設定:

一般的是通過Flashvars來給flash條件變數:
<param name="FlashVars" value="variable1=value1&variable2=value2&variable3=value3">

而FlashObject後的變數設定為:
<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的_root上了。

另外,FlashObject還提供了一個getQueryParamValue()函數來調用URL網址串的參數。
例如網址:http://www.example.com/page.html?variable1=value1&variable2=value2
你可以通過以下方法來把上面的參數傳遞給flash。
<script type="text/javascript">
var fo = new FlashObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
fo.addVariable("variable1", getQueryParamValue("variable1"));
fo.addVariable("variable2", getQueryParamValue("variable2"));
fo.write("flashcontent");
</script>

同時,getQueryParamValue()還支援從location.hash讀取變數。例子:
http://www.slideshowpro.net/demo/demo_default.php


Flash player的快速安裝功能

FlashObject完全支援Flash Player的快速安裝功能。通過在flash的第一幀添加一段AS代碼就可以輕鬆達到檢測使用者Flash Player版本,並提示更新的功能。expressinstall.as代碼如下:
#include "expressinstall.as"
var ExpressInstall = new ExpressInstall();
if (ExpressInstall.needsUpdate) {

var upgradeMsg = attachMovie("upgradeMsg_src", "upgradeMsg", 1);
upgradeMsg._x = Stage.width / 2;
upgradeMsg._y = Stage.height / 2;

upgradeMsg.upgradeBtn.onRelease = function() {
ExpressInstall.init();
}
stop();
}

注意要把上面的AS放到主時間軸第一幀。並且這一幀上不要放任何其他內容。具體樣本:
http://blog.deconcept.com/flashobject/expressinstall.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.