日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

总结网站调用Flash的几种方法【转】

發布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 总结网站调用Flash的几种方法【转】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Adobe 提供的方法

<object width="200" height="200" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#4,0,0,0">
??<param name="src" value="clock.swf" />
??<param name="quality" value="high" />
??<embed src="clock.swf" type="application/x-shockwave-flash" width="200" height="200" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object>


這是非常經典與簡單的一種調用方法,剛學網站建設時在很多小企業站點都可以看到,不過這種方法有一些明顯缺陷:

不能檢測播放器版本:如果用戶 flash 版本過低,會出現 ActiveX 插件安裝提示,而且用低版本播放器播放高版本的 flash 文件時存在很多問題,這些都影響用戶對網站的正常使用。

不 符合XHTML規范:雖然通過 <embed> 元素插入 flash 可以兼容非IE內核瀏覽器,但 <embed> 元素是 Netscape 公司創建的用來顯示網頁中 flash 的插件,不屬于 HTML4.01規范中的一部分 (注:HTML5已支持 embed 標簽)

其它問題:使用該方法時 <object> 與 <embed> 的參數必需一致,否則可能導致在不同瀏覽器效果不一致甚至無法正常加載
詳細的介紹可以查看>>HO8001: 各瀏覽器下使用 OBJECT 元素和 EMBED 元素嵌入 Flash 存在差異,不過有一點值得一提, 直接使用 <embed> 兼容性也不錯,IE 下也能正常顯示,但并不推薦,原因同上。

二、不含 <embed> 的方法

1.Flash Satay Method

<object type="application/x-shockwave-flash data="c.swf?path=movie.swf" width="400" height="300">


該方法的詳細介紹可以查看Drew McLellan的文章>>Flash Satay: Embedding Flash While Supporting Standards

2.僅含 <Object>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="300" height="120"><param name="movie" value="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/flash.swf"> <param name="quality" value="high"><param name="bgcolor" value="#FFFFFF"><!--[if !IE]> <--><object data="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/flash.swf" width="300" height="120" type="application/x-shockwave-flash"><param name="quality" value="high"><param name="bgcolor" value="#FFFFFF"><param name="pluginurl" value="http://www.adobe.com/go/getflashplayer">FAIL (the browser should render some flash content, not this).</object><!--> <![endif]--></object>


這兩種方法都沒有用到 <embed> ,代碼是符合XHTML規范,但仍然不能檢測播放器版本,并且 Flash Satay 不兼容一些讀屏軟件。

三、SWFObject方法

SWFObject是一個 js 類庫,它提供了一種易于使用、標準友好的方式來插入 flash 內容。最新版本為2.3 beta,源碼托管在 Github,點擊訪問SWFObject。穩定版本為2.2,目前依然可以在 Google Code 訪問并下載:Https://code.google.com/p/swfobject/

SWFOject的優點:

檢查播放器版本:它能夠檢查客戶端瀏覽器對 flash 插件的支持情況;

符合 XHTML 規范:使用 SWFObject 方法插入 flash 并不會在 HTML 文檔中直接出現不友好的代碼;

使用簡單、便捷,特別是當一個頁面需要插入多個 flash 時。

1.基本使用方法:

HTML 部分

<div id="altContent">這里是flash內容,當前的瀏覽器沒有安裝或者FlashPlyaer版本不夠高,請從<a href="http://www.adobe.com/go/getflashplayer">這里</a>下載安裝最新的 FlashPlyaer</div>JavaScript 部分
<script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript">? ? swfobject.embedSWF("myflash.swf", "altContent", "300", "120", "9.0.0", "expressInstall.swf"); </script>


embedSWF 參數解釋:

參數1: swf 文件地址

參數2:swf 文件容器

參數3:flash 的寬度

參數4:flash 的高度

參數5:正常播放該 flash 的最低版本

參數6:版本低于當前要求時,執行該 swf 文件,跳轉到官方下載最新版本的 flash 插件(可選)

2.高級使用方法(可傳遞參數、變量、屬性):

HTML 部分

<div id="altContent">這里是flash內容,當前的瀏覽器沒有安裝或者FlashPlyaer版本不夠高,請從<a href="http://www.adobe.com/go/getflashplayer">這里</a>下載安裝最新的 FlashPlyaer</div>JavaScript 部分
<script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript"> var flashvars = {? ???id:"myid",? ???age:"myage",? ???nickName:"mynickname" } var params = {? ???menu: "false",? ???allowFullscreen: "false",? ???allowScriptAccess: "always",? ???bgcolor: "#ffffff",? ???wmode: "transparent" } var attributes = {? ???id: "myswfcontent",? ???name: "myswfcontent"} swfobject.embedSWF("myflash.swf", "altContent", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes); </script>


也可以寫成這樣(不常用)


<script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript">//不常用方法一,應該沒人想這么寫…var flashvars = {};flashvars.id:"myid";flashvars.age:"myage";flashvars.nickName:"mynickname";var params = {};params.menu: "false";params.allowFullscreen: "false";params.allowScriptAccess: "always";params.bgcolor: "#ffffff";params.wmode: "transparent";var attributes = {};attributes.id: "myswfcontent";attributes.name: "myswfcontent";swfobject.embedSWF("myflash.swf", "altContent", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes);</script><script type="text/javascript">//不常用方法二,將初始化變量寫成一句,代碼簡潔,但閱讀困難,不推薦 swfobject.embedSWF("myflash.swf", "altContent", "100%", "100%", "9.0.0", "expressInstall.swf", {id:"myid",age:"myage",nickName:"mynickname"}, {menu:"false",allowFullscreen:"false",allowScriptAccess:"always",bgcolor:"#ffffff",wmode:"transparent"}, {id:"myswfcontent",name:"myswfcontent"});</script>


初始化變量解釋:

flashvars:json 對象,用來為 flash 傳遞初始化信息
params:flash 設置,是否顯示按鈕、是否全屏、是否允許訪問 JS、背景顏色、窗口模式等
attributes:設置嵌入 flash 完成時 object 標簽的 id,name等屬性
embedSWF 參數解釋:

swfobject.embedSWF(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn)

swfUrl(String ,必須)指定SWF的URL。
id(String ,必須)指定將會被Flash內容替換的HTML元素的id。
width(String,必須)指定SWF的寬。
height(String,必須)指定SWF的高。
version(String,必須)指定你發布的SWF對應的Flash Player版本(格式為:major.minor.release)。
expressInstallSwfurl(String, 可選)指定expressInstall.swf的URL并在客戶端FlashPlyaer版本低于version指定的數值時激活Adobe express install自動升級客戶端的FlashPlyaer。
flashvars( Object ,可選)用name:value對指定你的flashvars。
params(Object ,可選)用name:value對指定你的嵌套object元素的params。
Attributes(Object, 可選)用name:value對指定object的屬性。
callbackFn(JavaScript function, 可選)定義一個在執行embedSWF方法后,嵌入flash成功或失敗后都可以回調的 JS 函數

該方法共有10個參數,前5個參數不能省略,后面的參數為可選,但如果不用某個參數,必需用 null 關鍵字點位;

swfobject.embedSWF("myflash.swf", "altContent", "100%", "100%", "9.0.0", "null", null, params, attributes);

四、jQuery SWFObject Plugin

jQuery SWFObject Plugin 目前版本為1.1.1,它是基于SWFObject 2.2 開發的 jQuery 插件。如果在項目中有使用到 jQuery ,則可以使用該插件,大小僅為 SWFObject 的十分之一。

注:以下 JavaScript 代碼示例中都略去了 jQuery 與 jQuery SWFObject 調用的語句。

1.基本的使用方法:

HTML 部分

<div id="myFlash">? ? The "You don't have flash" message.Or any other backup content.</div>JavaScript 部分

<script type="text/javascript">$(document).ready(? ? function() {? ?? ???$('#myFlash').flash('fireworks.swf');? ? });</script>


2.高級使用方法(可傳遞參數、變量、屬性):

HTML 部分

<div id="myFlashVars"></div>JavaScript 部分

<script type="text/javascript">$(document).ready(? ? function () {? ?? ???$('#myFlashVars').flash(? ?? ?? ?? ?{? ?? ?? ?? ?? ? // 傳入 flash url? ?? ?? ?? ?? ? swf: 'test_flashvars.swf',? ?? ?? ?? ?? ? // 傳值? ?? ?? ?? ?? ?? ?flashvars: {? ?? ?? ?? ?? ?? ???name1: 'jQuery',? ?? ?? ?? ?? ?? ???name2: 'SWFObject',? ?? ?? ?? ?? ?? ???name3: 'Plugin'? ?? ?? ?? ?? ? }? ?? ?? ?? ?}? ?? ???);? ? });</script>

轉載于:https://www.cnblogs.com/xinqingHappy/archive/2013/04/27/3046471.html

總結

以上是生活随笔為你收集整理的总结网站调用Flash的几种方法【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。