久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

HTML插入Flash的全兼容完美解決方案-SWFObject

Flash 嵌入的問題朋友們可能認(rèn)為很簡單,但是具體到一些問題上來講,就不是那么簡單了,比如:IE瀏覽器對FLASH的攔截虛框怎么去掉?在FF、OP、NS等其它瀏覽器是否兼容?代碼是否符合

        Flash 嵌入的問題朋友們可能認(rèn)為很簡單,但是具體到一些問題上來講,就不是那么簡單了,比如:IE瀏覽器對FLASH的攔截虛框怎么去掉?在FF、OP、NS等其它瀏覽器是否兼容?代碼是否符合W3C標(biāo)準(zhǔn)??等等

        下面我就轉(zhuǎn)貼別人的一篇文件,共同學(xué)習(xí)一下

一、傳統(tǒng)的方法

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="Untitled-1" align="middle"> 
<param name="allowScriptAccess" value="sameDomain" /> 
<param name="**" value="my**.swf" /> 
<param name="quality" value="high" /> 
<param name="bgcolor" value="#ffffff" /> 
<embed src="my**.swf" quality="high" bgcolor="#ffffff" width="550"    height="400"name="my**" align="middle" allowScriptAccess="sameDomain"    type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> 
</object>

      這方法是使用 object 和 embed 標(biāo)簽來嵌入,細(xì)心的會發(fā)現(xiàn),object 的很多參數(shù)和 embed 里面的很多屬性是重復(fù)的,為什么這樣做?為了瀏覽器兼容性,有的瀏覽器支持 object,有的支持 embed,這也是為什么要修改 Flash 的參數(shù)時(shí)兩個(gè)地方都要改的原因。

 

      這種方法是 Macromedia 一直以來的官方方法,最大限度的保證了 Flash 的功能,沒有兼容性問題。但是它現(xiàn)在不那么好用了: 無法通過驗(yàn)證,由于為了兼容性而嵌入的 embed 標(biāo)簽是不符合 W3C 的規(guī)范的。當(dāng)然,如果你不在乎什么規(guī)范不規(guī)范,另當(dāng)別論。

      微軟由于種種原因,在 sp2 后限制了 IE 的 ActiveX 的使用模式,就是在頁面中的 ActiveX 有一個(gè)虛框,需要用戶點(diǎn)擊一次才能正常交互。Flash是作為一個(gè) ActiveX 嵌入到網(wǎng)頁中的,所以它也會受牽連,只有通過 JS 嵌入 Flash 才能解決這個(gè)問題。

       沒有 Flash 版本檢測,如果版本瀏覽器的flash插件版本不夠,或者不能正常顯示你的 swf 文件,或者會彈出一個(gè) ActiveX 的確認(rèn)安裝的框——這個(gè)框?qū)芏嘤脩魜碚f是很恐怖的。

二、用JS嵌入的方法

      用JS嵌入就是各有各的嵌入方法了,有嵌得好的有嵌得不好的。有人用 document.write 直接寫,這法子說實(shí)話不大好,感覺 hack 成分多了,有點(diǎn)為了驗(yàn)證而驗(yàn)證的意思,而且沒有體現(xiàn)出什么 JS 的優(yōu)勢。我覺得一個(gè)好的 JS 嵌入腳本,在保證 Flash 應(yīng)有功能的基礎(chǔ)上,要發(fā)揮 JS 的優(yōu)勢應(yīng)該要有版本檢測,要能很好解決可訪問性問題(也就是用戶在無法瀏覽 Flash 內(nèi)容或禁用 JS 的時(shí)候應(yīng)該如何處理的問題),要易于重復(fù)使用。

      我們這里要講的是SWFObject這個(gè)解決方案:

      “SWFObject”是利用Javascript 插入flash,好處多多,代碼簡潔,不會出現(xiàn)IE6下的“單擊此處以激活控件”的提示,并且能通過W3C驗(yàn)證。不同于傳統(tǒng)的“object”插入flash的方法。

       SWFObject在新的2.x版本中,其最簡單的調(diào)用竟只需一句話,并且不需要等待頁面加載完成,這意味著你可以將這句話寫在頁面的任何地方。比以前的版本,要簡便多了。下面來看幾個(gè)簡單常用的調(diào)用方法:

1、最簡單,最基本,只要想插入flash都能用到的經(jīng)典一句話。

<div id="swfid"></div> 
<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript">
swfobject.embedSWF("test.swf", "swfid", "300", "120", "9.0.0", "expressInstall.swf"); 
</script>

注解:調(diào)用方法embedSWF——插入SWF文件,參數(shù)依次是@swf文件的地址;@用于裝入swf文件的容器(如div)的id;@flash的寬度;@flash的高度(當(dāng)然,這里的寬高都可以使用諸如100%這樣的百分比來表示);@正常播放該flash所需的最低版本;@當(dāng)版本低于要求時(shí),執(zhí)行該swf文件,這里利用這個(gè)flash跳轉(zhuǎn)到官方下載最新版本的flash插件。(該參數(shù)可以省略)在同一個(gè)頁面插入多個(gè)flash到不同位置時(shí),只要重復(fù)上面的語句,使用不同的容器id就可以了。


2、給swf文件傳遞參數(shù)、變量、屬性的調(diào)用方法

<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript"> 
//1、使用Json初始化變量、參數(shù)、屬性 
        var flashvars = {
            name1: "hello",
            name2: "world",
            name3: "foobar"
        };
        var params = {
            menu: "false"
        };
        var attributes = {
            id: "dynamicContent2",
            name: "dynamicContent2"
        };
        swfobject.embedSWF("test6_flashvars.swf", "content2", "300", "120", "6.0.0","expressInstall.swf", flashvars, params, attributes); 

//2、傳統(tǒng)的初始化設(shè)置,效果一樣 
        var flashvars = {};
        flashvars.name1 = "hello";
        flashvars.name2 = "world";
        flashvars.name3 = "foobar";
        var params = {};
        params.menu = "false";
        var attributes = {};
        attributes.id = "dynamicContent3";
        attributes.name = "dynamicContent3";
        swfobject.embedSWF("test6_flashvars.swf", "content3", "300", "120", "6.0.0","expressInstall.swf", flashvars, params, attributes); 

//3、直接寫在后面,就一句話,簡潔剽悍,不拖泥帶水 

        swfobject.embedSWF("test6_flashvars.swf", "content5", "300", "120", "6.0.0","expressInstall.swf", {name1:"hello",name2:"world",name3:"foobar"}, {menu:"false"}, {id:"dynamicContent5",name:"dynamicContent5"}); 
</script>
 

SWFObject google 開源項(xiàng)目 http://code.google.com/p/swfobject/
SWFObject(2.2版) 下載地址:http://swfobject.googlecode.com/files/swfobject_2_2.zip
SWFObject(2.0版) 下載地址:http://swfobject.googlecode.com/files/swfobject_2_0.zip
SWFObject的官方Blog:http://blog.deconcept.com/swfobject/
SWFObject 2.0 官方文檔(中文) http://www.admin10000.com/resource/1.html

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測試外,其他素材未做測試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請勿用于商業(yè)用途。如損害你的權(quán)益請聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

由于實(shí)際運(yùn)行環(huán)境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會達(dá)到,所以這部分不是開發(fā)者能夠決定的,開發(fā)者能作的是盡可能通
本文將使用HTML5提供的VideoAPI做一個(gè)自定義的視頻播放器,需要用到HTML5提供的video標(biāo)簽、以及HTML5提供的對JavascriptAPI的擴(kuò)展。,HTML5中國,中國最大的HTML5中文門戶。
隨著 Hybrid 應(yīng)用的豐富,HTML5 工程師們已經(jīng)不滿足于把桌面端體驗(yàn)簡單移植到移動端,他們覬覦移動原生應(yīng)用人性化的操作體驗(yàn),特別是原生應(yīng)用與生俱來的豐富的手勢系統(tǒng)。HTML5 沒有提
你想要在自己網(wǎng)站上分享一個(gè)產(chǎn)品,或者是一個(gè)作品集,又或者僅僅只是一個(gè)靈感。在你發(fā)布到網(wǎng)上之前,你想讓它看起來有吸引力,專業(yè),或者至少得看起來像那么回事。那么你接下
H5廣告,包括H5廣告的設(shè)計(jì)流程,究竟有什么講究,和階段。為了能幫助更多的人了解H5廣告,我專門做了一個(gè)講義。同時(shí),也讓我意外的收到了非常好反饋和認(rèn)!這是對我的極大鼓勵!我的
本文主要內(nèi)容有:框架與組件、構(gòu)建生態(tài)、開發(fā)技巧與調(diào)試、html、css與重構(gòu)、native/hybrid/桌面開發(fā)、前端/H5優(yōu)化、全棧/全端開發(fā)、研究實(shí)驗(yàn)、數(shù)據(jù)分析與監(jiān)控、其它軟技能、前端技術(shù)網(wǎng)
主站蜘蛛池模板: 日日操操 | 一级毛片中国 | 国产精品性做久久久久久 | 狠狠综合久久av一区二区小说 | 99热.com| 日本一二三区电影 | 国产一区二区三区四区 | 亚洲精品欧美 | 国产亚洲一区二区三区 | 欧美中文在线 | 日韩电影免费在线观看中文字幕 | 欧美日韩综合视频 | 国产免费一区二区 | 国产精品高清在线 | 久久精品国产免费一区二区三区 | 久久亚洲综合 | 欧美激情在线精品一区二区三区 | 亚洲在线 | 真人毛片 | 久久久久久高潮国产精品视 | 在线观看国产视频 | 日本一区二区三区四区 | 精品视频久久久久久 | 国产精品三级 | 亚洲精品乱码久久久久久按摩 | 高清欧美性猛交 | 国产91久久久久久久免费 | 久久天天躁狠狠躁夜夜躁2014 | 91成人小视频| 成人午夜| 日日夜夜免费精品 | 狠狠色综合网站久久久久久久 | 日韩精品在线一区 | 国产日韩一区二区三免费高清 | 久久久久精 | 欧美激情第一区 | 国产精品久久久久久久久久免费看 | 亚洲第一区国产精品 | 亚洲精品一二区 | 综合色播 | 999免费网站 |