一、傳統(tǒng)的方法
代碼如下:
這方法是使用 object 和 embed 標(biāo)簽來(lái)嵌入,細(xì)心的會(huì)發(fā)現(xiàn),object 的很多參數(shù)和 embed 里面的很多屬性是重復(fù)的,為什么這樣做?為了瀏覽器兼容性,有的瀏覽器支持 object,有的支持 embed,這也是為什么要修改 Flash 的參數(shù)時(shí)兩個(gè)地方都要改的原因。
這種方法是 Macromedia 一直以來(lái)的官方方法,最大限度的保證了 Flash 的功能,沒(méi)有兼容性問(wèn)題。但是它現(xiàn)在不那么好用了: 無(wú)法通過(guò)驗(yàn)證,由于為了兼容性而嵌入的 embed 標(biāo)簽是不符合 W3C 的規(guī)范的。當(dāng)然,如果你不在乎什么規(guī)范不規(guī)范,另當(dāng)別論。
微軟由于種種原因,在 sp2 后限制了 IE 的 ActiveX 的使用模式,就是在頁(yè)面中的 ActiveX 有一個(gè)虛框,需要用戶(hù)點(diǎn)擊一次才能正常交互。Flash是作為一個(gè) ActiveX 嵌入到網(wǎng)頁(yè)中的,所以它也會(huì)受牽連,只有通過(guò) JS 嵌入 Flash 才能解決這個(gè)問(wèn)題。
沒(méi)有 Flash 版本檢測(cè),如果版本瀏覽器的flash插件版本不夠,或者不能正常顯示你的 swf 文件,或者會(huì)彈出一個(gè) ActiveX 的確認(rèn)安裝的框——這個(gè)框?qū)芏嘤脩?hù)來(lái)說(shuō)是很恐怖的。
二、用JS嵌入的方法
用JS嵌入就是各有各的嵌入方法了,有嵌得好的有嵌得不好的。有人用 document.write 直接寫(xiě),這法子說(shuō)實(shí)話不大好,感覺(jué) hack 成分多了,有點(diǎn)為了驗(yàn)證而驗(yàn)證的意思,而且沒(méi)有體現(xiàn)出什么 JS 的優(yōu)勢(shì)。我覺(jué)得一個(gè)好的 JS 嵌入腳本,在保證 Flash 應(yīng)有功能的基礎(chǔ)上,要發(fā)揮 JS 的優(yōu)勢(shì)應(yīng)該要有版本檢測(cè),要能很好解決可訪問(wèn)性問(wèn)題(也就是用戶(hù)在無(wú)法瀏覽 Flash 內(nèi)容或禁用 JS 的時(shí)候應(yīng)該如何處理的問(wèn)題),要易于重復(fù)使用。
我們這里要講的是SWFObject這個(gè)解決方案:
“SWFObject”是利用Javascript 插入flash,好處多多,代碼簡(jiǎn)潔,不會(huì)出現(xiàn)IE6下的“單擊此處以激活控件”的提示,并且能通過(guò)W3C驗(yàn)證。不同于傳統(tǒng)的“object”插入flash的方法。
SWFObject在新的2.x版本中,其最簡(jiǎn)單的調(diào)用竟只需一句話,并且不需要等待頁(yè)面加載完成,這意味著你可以將這句話寫(xiě)在頁(yè)面的任何地方。比以前的版本,要簡(jiǎn)便多了。下面來(lái)看幾個(gè)簡(jiǎn)單常用的調(diào)用方法:
1、最簡(jiǎn)單,最基本,只要想插入flash都能用到的經(jīng)典一句話。
代碼如下:
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com