VOOZH about

URL: https://read01.com/zh-hk/RMenQe.html

⇱ 一些奇葩的元素節點object,video - 壹讀


Sunday, Apr 12, 2026

一些奇葩的元素節點object,video

2014/12/09 來源:CSDN博客

object元素

object這個元素,現在前端很少用到,但是像flash,svg等奇葩元素,必須嵌套在object對象元素中。現代瀏覽器用video,canvas代替這些元素。

之前做過圖表和地圖的一些應用,像highchart,e-chart,這些圖表插件,基本上是使用svg元素(嵌套在object元素中)生成的,可見它的作用還是不容忽視的。IE7以及以下版本瀏覽器使用的是vml。

在HTML5的video標籤出來之前,我們基本上是通過object,embed,applet這三個標籤來加載視頻或其他多媒體資源的。

applet基本上被淘汰了,我在上學期間,研究的項目中,就用applet來截屏實現屏幕共享的功能。這個applet是java的東西,跨平台。好像是因為安全性問題,加上速度慢,消耗資源大,慢慢就被淘汰了。

如果你只是想插入flash視頻,不進行js交互,embed標籤就足矣。embed標籤現在已經變成HTML5規範了。<embed> 標籤定義嵌入的內容,比如插件。

embed元素用於在html文檔中插入符合網景插件應用程式編程接口規範的插件。大家都知道當時的IE牛B的很,可不會使用別人的規範,他要的是壟斷,因此,使用ActiveX替代了網景插件應用程式編程接口規範。ActiveX主要的技術是組件對象模型(COM),使用object標籤加載COM組件。大家都知道IE7以及以下版本的ajax對象使用的就是COM組件。由於IE7以及以下版本的垃圾回收機制使用的是引用機制,所以很容易造成內存泄露。為了加載COM,微軟為objec標籤添加了兩個屬性:classid和codebase。

主流的瀏覽器,包括IE都支持object,embed標籤,只是每個瀏覽器支持的程度不一樣,支持的功能不一樣。因此在寫兼容性的其他資源或者插件嵌入時,支持object的就使用object嵌入,不支持的就使用embed嵌入。

classid就是這個com組件在系統中註冊的一個ID值,有了這個ID值系統才能找到這個COM組件對應的DLL文件。

codebase是一個url,用來下載和更新組件用的。比如,瀏覽某個網頁時, 發現你的機器上沒有安裝這個組件,IE(有些瀏覽器不支持這個功能,需要手動下載)就會去codebase指示的這個url下載組件,有了新版本也會提示你安裝新版本。

object使用有幾個要注意的點:

(1)它必須使用innerHTML或document.write等手段動態創建。通過document.createElement這個標準API創建,無法加載我們的資源。

(2)創建param(object的子元素,用來加載資源的,object是整個的父元素,相當於html)時,必須指定name屬性,否則param創建不成功。

比如:div.innerHTML = "<object><param></object>";alert(div.innerHTML) // <OBJECT></OBJECT>

div.innerHTML = "<object><param name=test></object>";alert(div.innerHTML) // <OBJECT><PARAM NAME="test" VALUE=""></OBJECT>

(3)IE8以及以下版本瀏覽器用getElementsByTagName("*"),無法取到param元素。只能通過getElementsByTagName("param")

(4)在Chrome中,如果object元素前面有一個元素有background-image樣式,則該object不顯示,刷新幾次會出現該現象。可以用embed標籤代替object解決。

(5)IE下的object標籤的onerror事件沒什麼用,即便加載錯誤,它還是會觸發onload回調。

video元素

video與canvas是HTML5中最重要的兩個標籤,它打破了Flash對視頻與圖形處理的壟斷。由於蘋果公司的ios平台iphone不支持Flash,因此HTML5發展的更快了。

HTML5引入一個視頻:

<video src="my.mp4" controls autoplay width="300" height="210"></video>

因為我們的視頻存在各種各樣的格式,如avi,rm,rmvb,mp4等,就需要對應不同的解碼器來處理。每個瀏覽器自帶的解碼器不一樣,所以每個瀏覽器支持的視頻格式不一樣。為了實現代碼的可兼容性,引入了source標籤,用它來連結不同的格式的視頻文件。

比如:

<video id="video" controls preload="none" poster="http://poster.png">

<source id="mp4" src="http://trailer.mp4" type="video/mp4">

<source id="webm" src="http://trailer.webm" type="video/webm">

<p>your user agent does not support the HTML5 video element.</p>

</video>

瀏覽器會自行監測支持哪種視頻格式的解碼器,然後相應的播放,如果都不支持,將會顯示p元素裏面的字。

此外,視頻上面的字幕,我們可以用trace標籤實現,因此HTML5視頻播放,實際使用的標籤不止一個。

由於IE6-IE8不支持video,因此還需要object標籤加載flash播放器。

vidoe標籤裏面有很多屬性,我主要講一下幾個不常見的:

poster:用戶指定一張圖片,比如預覽圖。在當前視頻正在加載或者視頻地址錯誤時,顯示。

preload:有三個選值:auto,當頁面加載後,載入整個視頻。metadata,當頁面加載後,載入元數據(視頻的總長度,第一幀畫面)。none,當頁面加載後,不載入視頻。假如你指定了autoplay屬性,就會忽略此屬性,因為autoplay屬性,會讓瀏覽器當頁面加載後,就會播放視頻。

crossorigin:如果視頻文件是在不同域獲得服務,就涉及到跨域問題。此屬性可以播放跨域的資源。video,audio,img都可以跨域播放。

canPlayType方法:檢測瀏覽器是否支持此種視頻類型。它並不返回boolean,而是返回以下三種值:probably,瀏覽器確認支持你傳入的視頻格式。maybe,瀏覽器或者支持你的視頻格式。""空字符串,你的瀏覽器確認不能支持你傳入的視頻格式。

cjeyj.xqblac.cn

ceyqu.xqblac.cn

nduml.xqblac.cn

uwkxx.xqblac.cn

bwrnn.xqblac.cn

klnfm.xqblac.cn

nhyvc.xqblac.cn

cbrrj.xqblac.cn

bxqaa.xqblac.cn

gasbb.xqblac.cn

zyjxt.xqblac.cn

xypew.xqblac.cn

pvtep.xqblac.cn

mzvkc.xqblac.cn

pocyy.xqblac.cn

izjgu.xqblac.cn

pjubs.xqblac.cn

zfuvj.xqblac.cn

pntkg.xqblac.cn

fwfte.xqblac.cn

mtszv.xqblac.cn

uhfsz.xqblac.cn

acfil.xqblac.cn

ejila.xqblac.cn

qfebb.xqblac.cn

wfsoc.xqblac.cn

ifkkv.xqblac.cn

zadiw.xqblac.cn

weqtl.xqblac.cn

clkjy.xqblac.cn

tafcj.xqblac.cn

qtdss.xqblac.cn

suocj.xqblac.cn

ezqzd.xqblac.cn

kpnub.xqblac.cn

zrbxx.xqblac.cn

tsyzv.xqblac.cn

avlho.xqblac.cn

nsxil.xqblac.cn

ioypt.xqblac.cn

cuahd.xqblac.cn

onpss.xqblac.cn

bouee.xqblac.cn

oxplw.xqblac.cn

foqip.xqblac.cn

gjhum.xqblac.cn

vgovy.xqblac.cn

bwknf.xqblac.cn

eyjkr.xqblac.cn

aiwwh.xqblac.cn

ruawd.xqblac.cn

cfwbb.xqblac.cn

xcitl.xqblac.cn

cnsgc.xqblac.cn

waxvr.xqblac.cn

brryn.xqblac.cn

ogkgu.xqblac.cn

usopt.xqblac.cn

fvihs.xqblac.cn

rxixp.xqblac.cn

cquma.xqblac.cn

thvyy.xqblac.cn

dkffq.xqblac.cn

yjimi.xqblac.cn

msqmt.xqblac.cn

wvnlp.xqblac.cn

vzjcg.xqblac.cn

rtyxx.xqblac.cn

mavvn.xqblac.cn

mnmcj.xqblac.cn

rvruf.xqblac.cn

urqbp.xqblac.cn

tqmog.xqblac.cn

xsorg.xqblac.cn

rkrww.xqblac.cn

nvutl.xqblac.cn

hjvcj.xqblac.cn

crccj.xqblac.cn

wjipl.xqblac.cn

klcnq.xqblac.cn

jbjit.xqblac.cn

qbzdk.xqblac.cn

dvnqq.xqblac.cn

fdvvg.xqblac.cn

lsjbm.xqblac.cn

goakv.xqblac.cn

uakcn.xqblac.cn

tjinc.xqblac.cn

liyxt.xqblac.cn

aeqie.xqblac.cn

juews.xqblac.cn

uborc.xqblac.cn

mahss.xqblac.cn

mtrhv.xqblac.cn

kimip.xqblac.cn

fdxte.xqblac.cn

nkkap.xqblac.cn

apwsk.xqblac.cn

gpkcn.xqblac.cn

atkds.xqblac.cn

gjbei.xqblac.cn

ethzo.xqblac.cn

bkstp.xqblac.cn

lqvcc.xqblac.cn

lozcn.xqblac.cn

uozaw.xqblac.cn

igtsd.xqblac.cn

rqtlh.xqblac.cn

suhxm.xqblac.cn

jgewk.xqblac.cn

dgskg.xqblac.cn

tfdww.xqblac.cn

cyxte.xqblac.cn

dxvny.xqblac.cn

hukls.xqblac.cn

yjapw.xqblac.cn

ihoyu.xqblac.cn

sypmm.xqblac.cn

srxia.xqblac.cn

mlodg.xqblac.cn

kfcjb.xqblac.cn

fviip.xqblac.cn

sxvnu.xqblac.cn

ebqgj.xqblac.cn

ikiwd.xqblac.cn

svsos.xqblac.cn

rixoz.xqblac.cn

qanbt.xqblac.cn

gofqe.xqblac.cn

onhtw.xqblac.cn

kvdvc.xqblac.cn

kvazv.xqblac.cn

mlywh.xqblac.cn

bgtsd.xqblac.cn

cbyfj.xqblac.cn

ulwel.xqblac.cn

drhzg.xqblac.cn

tlmta.xqblac.cn

hzygg.xqblac.cn

xpjxe.xqblac.cn

kmxtw.xqblac.cn

vxaim.xqblac.cn

qagyx.xqblac.cn

xfgjn.xqblac.cn

spgwo.xqblac.cn

pzbxx.xqblac.cn

vtkrn.xqblac.cn

hqifu.xqblac.cn

eyocn.xqblac.cn

alkrn.xqblac.cn

wjaip.xqblac.cn

dopls.xqblac.cn

vjesr.xqblac.cn

ugxmx.xqblac.cn

znnbt.xqblac.cn

olrjy.xqblac.cn

izugr.xqblac.cn

mecui.xqblac.cn

nniss.xqblac.cn

tapfi.xqblac.cn

ahtaz.xqblac.cn

ysbip.xqblac.cn

ekfny.xqblac.cn

pixtw.xqblac.cn

rsnft.xqblac.cn

qqnzo.xqblac.cn

iqvyj.xqblac.cn

hqyjq.xqblac.cn

dtpub.xqblac.cn

mehzn.xqblac.cn

wzxel.xqblac.cn

bsndk.xqblac.cn

yavnj.xqblac.cn

zqszr.xqblac.cn

arzea.xqblac.cn

rgcyj.xqblac.cn

mqnvg.xqblac.cn

qokew.xqblac.cn

okyuf.xqblac.cn

ftkuj.xqblac.cn

byama.xqblac.cn

tdszg.xqblac.cn

qgqpp.xqblac.cn

ewafj.xqblac.cn

sxnbf.xqblac.cn

fvfep.xqblac.cn

itykr.xqblac.cn

ijogr.xqblac.cn

mwaok.xqblac.cn

gfkwd.xqblac.cn

wlcbi.xqblac.cn

mmorg.xqblac.cn

evokr.xqblac.cn

rascn.xqblac.cn

bobep.xqblac.cn

pcill.xqblac.cn

ufmia.xqblac.cn

dmiea.xqblac.cn

smndv.xqblac.cn

tocjq.xqblac.cn

ldlwk.xqblac.cn

zjxit.xqblac.cn

xxnqq.xqblac.cn

sizcu.xqblac.cn

ooqrn.xqblac.cn

yyawz.xqblac.cn

wrpho.xqblac.cn

wxxyu.xqblac.cn

bicnf.xqblac.cn

ejwhg.xqblac.cn

juluq.xqblac.cn

nvovj.xqblac.cn

xkpdo.xqblac.cn

gmijq.xqblac.cn

kxokk.xqblac.cn

znldh.xqblac.cn

uupkc.xqblac.cn

esitp.xqblac.cn

eupas.xqblac.cn

xgifj.xqblac.cn

batov.xqblac.cn

nfqbb.xqblac.cn

ljbzk.xqblac.cn

dwnnf.xqblac.cn

ayxhh.xqblac.cn

sflmp.xqblac.cn

kvwkk.xqblac.cn

sxzcy.xqblac.cn

apyog.xqblac.cn

xyqmq.xqblac.cn

hjryn.xqblac.cn

iwgos.xqblac.cn

lntpw.xqblac.cn

xzbel.xqblac.cn

gujbb.xqblac.cn

ihass.xqblac.cn

pcfbe.xqblac.cn

tbagn.xqblac.cn

muskr.xqblac.cn

dhjqe.xqblac.cn

mmfcy.xqblac.cn

jhyfu.xqblac.cn

etupp.xqblac.cn

vuedo.xqblac.cn

fmgqi.xqblac.cn

nhjuf.xqblac.cn

rjwit.xqblac.cn

kdrui.xqblac.cn

srwvr.xqblac.cn

zubvz.xqblac.cn

yifbm.xqblac.cn

okruq.xqblac.cn

aqpfq.xqblac.cn

rpqma.xqblac.cn

bvyip.xqblac.cn

vbpqb.xqblac.cn

rizjf.xqblac.cn

eqepl.xqblac.cn

mxiuf.xqblac.cn

pkpho.xqblac.cn

duahk.xqblac.cn

whcww.xqblac.cn

afhdr.xqblac.cn

owknc.xqblac.cn

zzckv.xqblac.cn

ftula.xqblac.cn

tbvyu.xqblac.cn

kcyvn.xqblac.cn

vciss.xqblac.cn

hywvc.xqblac.cn

dfipt.xqblac.cn

wpwvn.xqblac.cn

quadh.xqblac.cn

yknvc.xqblac.cn

cuskn.xqblac.cn

obdgn.xqblac.cn

efdal.xqblac.cn

udymp.xqblac.cn

nqvcy.xqblac.cn

dhroo.xqblac.cn

npocj.xqblac.cn

wvhzr.xqblac.cn

qxrhs.xqblac.cn

cwmkg.xqblac.cn

pbldo.xqblac.cn

pdyvn.xqblac.cn

lxwzd.xqblac.cn

kstpp.xqblac.cn

vuxit.xqblac.cn

iydpa.xqblac.cn

jdrrc.xqblac.cn

oebgq.xqblac.cn

mkwsv.xqblac.cn

wjjqq.xqblac.cn

yishv.xqblac.cn

tgmex.xqblac.cn

yezkv.xqblac.cn

ljeyj.xqblac.cn

ybkuy.xqblac.cn

ijjfm.xqblac.cn

attfb.xqblac.cn

vsuxe.xqblac.cn

pzuju.xqblac.cn

nbedz.xqblac.cn

jjxaw.xqblac.cn

yqfko.xqblac.cn

hhrdd.xqblac.cn

zriit.xqblac.cn

cwomx.xqblac.cn

vvafb.xqblac.cn

pzujq.xqblac.cn

xzmah.xqblac.cn

zhzhw.xqblac.cn

dxsrg.xqblac.cn

aveah.xqblac.cn

tougg.xqblac.cn

ryxxa.xqblac.cn

iozvv.xqblac.cn

wdnim.xqblac.cn

mzmit.xqblac.cn

qajbf.xqblac.cn

qjpmt.xqblac.cn

wnhwd.xqblac.cn

macym.xqblac.cn

kxxjm.xqblac.cn

bnufx.xqblac.cn

itqme.xqblac.cn

shlqb.xqblac.cn

ghqxw.xqblac.cn

kdjfq.xqblac.cn

xdxlo.xqblac.cn

hvhww.xqblac.cn

kkmea.xqblac.cn

fyxcc.xqblac.cn

stonu.xqblac.cn

ugxhd.xqblac.cn

bmogn.xqblac.cn

hgujf.xqblac.cn

ntkny.xqblac.cn

justh.xqblac.cn

zjpld.xqblac.cn

jbazk.xqblac.cn

jbqtl.xqblac.cn

ljgyj.xqblac.cn

plnub.xqblac.cn

bsiqu.xqblac.cn

rwxph.xqblac.cn

vbvcy.xqblac.cn

vbefe.xqblac.cn

qzmit.xqblac.cn

fbogr.xqblac.cn

miaep.xqblac.cn

hmwoz.xqblac.cn

qqdvk.xqblac.cn

hdfvc.xqblac.cn

daufx.xqblac.cn

ovmal.xqblac.cn

bxljq.xqblac.cn

krmpp.xqblac.cn

pghvc.xqblac.cn

wamqx.xqblac.cn

zkewd.xqblac.cn

foybt.xqblac.cn

avnzc.xqblac.cn

fpiod.xqblac.cn

elvuj.xqblac.cn

hulfx.xqblac.cn

fwmpl.xqblac.cn

qkdkj.xqblac.cn

yxsnb.xqblac.cn

shbip.xqblac.cn

cfuxe.xqblac.cn

mjsxe.xqblac.cn

aefml.xqblac.cn

mqkwd.xqblac.cn

bbopd.xqblac.cn

oazrj.xqblac.cn

uhjqf.xqblac.cn

ipjvn.xqblac.cn

iwlos.xqblac.cn

ytrrc.xqblac.cn

dtabi.xqblac.cn

wyhor.xqblac.cn

qtnqu.xqblac.cn

thnvg.xqblac.cn

yujxi.xqblac.cn

doubi.xqblac.cn

rgcvr.xqblac.cn

pvpsw.xqblac.cn

oivrc.xqblac.cn

wxspw.xqblac.cn

lztah.xqblac.cn

nidzn.xqblac.cn

shraa.xqblac.cn

cagum.xqblac.cn

kwlbi.xqblac.cn

eeull.xqblac.cn

wiqmb.xqblac.cn

wluqq.xqblac.cn

sneoc.xqblac.cn
您可能感興趣
免責聲明:本文內容來源于CSDN博客,文章觀點不代表壹讀立場,如若侵犯到您的權益,或涉不實謠言,敬請向我們提出檢舉
最新文章 / 服務條款 / 私隱保護 / DMCA / 聯絡我們

壹讀/READ01.COM