版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、html頁(yè)面加載flash插件的幾種方法html頁(yè)面加載flash插件的幾種方法前言之所以寫(xiě)這篇文章,主要是因?yàn)榻M長(zhǎng)給提的一個(gè)新的需 求使用瀏覽器調(diào)用電腦的攝像頭,來(lái)實(shí)現(xiàn)即時(shí)拍照的功 能。在網(wǎng)上查了很多資料,由于這樣那樣的原因,最終選擇 了使用 flash插件來(lái)調(diào)用pc的攝像頭。當(dāng)然,這個(gè)需求是基于 b/s架構(gòu)的,因此,就在想怎么把它嵌入到前端的html頁(yè)面中。題外話當(dāng)然,這里還沒(méi)有考慮到封裝,主要是先以實(shí)現(xiàn)為目的,后續(xù)工作再根據(jù)業(yè)務(wù)進(jìn)行抽象,封裝成通用的組件。好了, 廢話不多說(shuō), 看重點(diǎn)。 嵌入插件使用object和embed標(biāo)簽代碼展示 html view plain copy&l
2、t;span style="font-family:microsoft yahei;"><div style="margin-top:-30px;margin-left:-120px;"> <objectclassid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"codebase=" wave/cabs/flash/swflash.cab#version=7,0,0,0"width="490" h
3、eight="390" id="untitled-1"align="middle"><param name="allowscriptaccess" value="samedomain" /><param name="movie" value="cam.swf" /><param name="quality" value="high"
4、/> <param name="bgcolor" value="#ffffff" /><embed src="cam.swf" quality="high" bgcolor="#ffffff"width="490" height="390" name="cam" align="middle" allowscriptaccess="samedomain&
5、quot;type="application/x-shockwave-flash"pluginspage=" er" /></object> </div></span>這種方法用到的是object和 embed標(biāo)簽,可以看到 object的很多參數(shù)和embed里面的很多屬性是重復(fù)的。瀏覽器兼容性,有的瀏覽器支持object ,有的支持embed ,這也是為什么要修改flash的參數(shù)時(shí)兩個(gè)地方都要改的原 因。這種方法是macromedia一直以來(lái)的官方方法,最
6、大 限度的保證了flash的功能,沒(méi)有兼容性問(wèn)題。 但現(xiàn)在來(lái)看, 它還是存在很大問(wèn)題的。首先,無(wú)法通過(guò)驗(yàn)證,由于為了兼容性而嵌入的embed標(biāo)簽是不符合w3c的規(guī)范的。 當(dāng)然, 如果你不在乎什么規(guī)范不規(guī)范,另當(dāng)別論。其次,微軟由于種種原因,在sp2后限制了ie的 activex的使用模式, 就是在頁(yè)面中的activex有一個(gè)虛框, 需要用戶點(diǎn)擊一次才能正常交互。flash是作為一個(gè)activex嵌入到網(wǎng)頁(yè)中的, 所以它也會(huì)受牽連,只有通過(guò)js嵌入flash才能解決這個(gè)問(wèn)題。再次,沒(méi)有flash版本檢測(cè),如果版本瀏覽器的flash插件版本不夠,或者不能正常顯示你的swf文件,或者會(huì)彈出一個(gè)act
7、ivex的確認(rèn)安裝的框這個(gè)框?qū)芏?用戶來(lái)說(shuō)是很恐怖的。只使用object標(biāo)簽代碼展示 html view plain copy<span style="font-family:microsoft yahei;"><div style="margin-top:-30px;margin-left:-120px;"> <object type="application/x-shockwave-flash data="c.swf?path=cam.swf" wi
8、dth="490" height="390"> <param name="cam" value="c.swf?path=cam.swf" /><img src="defqr.png"width="550" height="400" alt="" /> </object></div></span&am
9、p;gt;這種方法只用到了object標(biāo)簽,其實(shí)也就是flash satay。由于沒(méi)有了embed標(biāo)簽,可以通過(guò)驗(yàn)證,是標(biāo)準(zhǔn)的嵌入 flash的方法,瀏覽器兼容性也不錯(cuò),看起來(lái)幾乎完美,不過(guò)還是有問(wèn)題的。首先,需要一個(gè)holder swf來(lái)加載你的目標(biāo)swf以保證ie中的stream能力,如果你需要通過(guò)flashvars來(lái)傳參,或者和頁(yè)面的js交互,會(huì)很麻煩。其次,和第一種方法一樣,也會(huì)彈出一個(gè)activex的提示框, 沒(méi)有版本檢測(cè)。再次,一些低版本的瀏覽器(如低版本的 safari等)不認(rèn)同這種方式,對(duì)它的兼容性不好。只使用 embed標(biāo)簽代碼展示 html view plain copy&
10、amp;lt;span style="font-family:microsoft yahei;"><div style="margin-top:0px;margin-left:-70px;"> <embed id="cam" src="cam.swf" loop="false"menu="false" quality="best" bgcolor="#ffffff" width=&
11、quot;450"height="350" name="webcam" align="middle" wmode="transparent" allowscriptaccess="always" allowfullscreen="false"type="application/x-shockwave-flash"pluginspage=" er" flashvars="width=490&height
12、=390&objid=camer adialog"></div></span>這種方法只用到了embed標(biāo)簽,對(duì)比效果來(lái)說(shuō),還是很不錯(cuò)的,瀏覽器的兼容性也還不錯(cuò),都是可以加載的。當(dāng)然,由于embed標(biāo)簽是不符合w3c 的規(guī)范的,所以也不推薦使用這種方法。使用javascript嵌入使用js來(lái)加載flash插件,網(wǎng)上已經(jīng)有很多的方法了,而且也有很多不錯(cuò)的js插件供大家選擇。我這里只拿swfobject來(lái)簡(jiǎn)單的介紹一下。首先,你需要下載一個(gè)swfobject插件包,該插件包中包含一個(gè)js腳本,這個(gè)是你需
13、要引入的腳步文件。還包括兩個(gè)html的例子,大家可以模仿一下。當(dāng)然,你還可以去swfobject的網(wǎng)站了解一下,網(wǎng)址請(qǐng)點(diǎn)擊這里 。代碼展示 javascript view plain copy<span style="font-family:microsoft yahei;"><script type="text/javascript" src="swfobject.js"></script> <script type="tex
14、t/javascript">swfobject.registerobject("myid", "9.0.0", "cam.swf"); </script></span> html view plain copy<span style="font-family:microsoft yahei;"><div style="margin-top:-30px;margin-left:-120p
15、x;"> <object id="myid"classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="490" height="390"><param name="movie" value="cam.swf" /> <!-if !ie>-><object type="ap
16、plication/x-shockwave-flash"data="cam.swf" width="490" height="390"> <!-<!endif-><div><h1>alternative content</h1> <p><ahref="src=" ons/get_flash_player.gif" alt="get adobe flash player"/></a></p></div><!-if !ie&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024食品工廠代加工冷鏈配送服務(wù)合同范本3篇
- 2024版無(wú)人機(jī)遙感監(jiān)測(cè)服務(wù)合同
- 2025年度水庫(kù)魚(yú)塘智能化養(yǎng)殖技術(shù)承包合同4篇
- 出資協(xié)議書(shū)范本
- 2024版鋁錠批發(fā)銷售協(xié)議樣本一
- 2025年度生態(tài)環(huán)保打井承包合同標(biāo)準(zhǔn)范本4篇
- 2025年度智慧家居產(chǎn)品銷售與售后服務(wù)合同3篇
- 2025年度住宅小區(qū)墻面公共藝術(shù)創(chuàng)作租賃合同標(biāo)的協(xié)議4篇
- 2025年度牙科專業(yè)人才培養(yǎng)與承包服務(wù)合同范本4篇
- 2024苗木種植與生物防治合作合同標(biāo)準(zhǔn)3篇
- IT硬件系統(tǒng)集成項(xiàng)目質(zhì)量管理方案
- 水下炸礁施工組織設(shè)計(jì)
- 《容幼穎悟》2020年江蘇泰州中考文言文閱讀真題(含答案與翻譯)
- 3dmin軟件3dmine教程基礎(chǔ)知識(shí)
- API520-安全閥計(jì)算PART1(中文版)
- 政府采購(gòu)專家評(píng)審實(shí)務(wù)培訓(xùn)XXXX
- 2023年廣東省廣州地鐵城際鐵路崗位招聘筆試參考題庫(kù)附帶答案詳解
- 2023年一級(jí)健康管理師《基礎(chǔ)知識(shí)》考前沖刺題庫(kù)資料(含答案)
- 直流電機(jī)電樞繞組簡(jiǎn)介
- GB/T 524-2007平型傳動(dòng)帶
- GB/T 19889.5-2006聲學(xué)建筑和建筑構(gòu)件隔聲測(cè)量第5部分:外墻構(gòu)件和外墻空氣聲隔聲的現(xiàn)場(chǎng)測(cè)量
評(píng)論
0/150
提交評(píng)論