學(xué)習(xí)JavaScript第十六章
1:跨文檔信息傳遞
跨文檔信息傳遞又被稱(chēng)為XDM,其核心方法是postMessage()方法。
postMessage()方法接收兩個(gè)參數(shù)
一條信息和一條表示信息接收方來(lái)自哪個(gè)域的字符串
2:原生拖放
16.2.1拖動(dòng)事件
1:拖動(dòng)某元素時(shí),將依次觸發(fā)下列事件:
dragstart
drag
dragend
當(dāng)某個(gè)元素被拖動(dòng)到某個(gè)有效的位置目標(biāo)上時(shí),將依次觸發(fā)下列事件:
1:dragenter
2:dragover
3:dragleave或drop
16.2.2自定義放置目標(biāo)
當(dāng)拖動(dòng)元素經(jīng)過(guò)不允許放置的目標(biāo)時(shí),不會(huì)發(fā)生drop事件。不過(guò)你可以重寫(xiě)dragenter和dragover事件的默認(rèn)行為,把任何元素變成有效的放置元素。
16.2.3dataTransfer對(duì)象
dataTransfer()對(duì)象用于從被拖動(dòng)目標(biāo)向所放置目標(biāo)傳遞字符串格式的數(shù)據(jù)
dataTransfer()對(duì)象有兩種方法:
getData()和setData()
getData()方法可以取得由setData方法保存的值。
16.2.4dropEffect與effectAllowed
通過(guò)dropEffect屬性可以知道被拖動(dòng)元素能執(zhí)行哪種放置行為。
dropEffect屬性只有搭配effectAllowed屬性才能才能用。effectAllowed元素表示允許拖動(dòng)元素的哪種dropEffect
16.2.5可拖動(dòng)
draggable屬性可表示元素是否可以拖動(dòng)
媒體元素
<audio>和<video>標(biāo)簽可讓開(kāi)發(fā)人員不必依賴(lài)任何插件就能在網(wǎng)頁(yè)中嵌入瀏覽器的音頻和視頻內(nèi)容。
<audio> 標(biāo)簽屬性:
src:音樂(lè)的URL
preload:預(yù)加載
autoplay:自動(dòng)播放
loop:循環(huán)播放
controls:瀏覽器自帶的控制
<video> 標(biāo)簽屬性:
src:視頻的URL
poster:視頻封面,沒(méi)有播放時(shí)顯示的圖片
preload:預(yù)加載
autoplay:自動(dòng)播放
loop:循環(huán)播放
controls:瀏覽器自帶的控制條
width:視頻寬度
height:視頻高度
1:使用<audio>和<video>標(biāo)簽的play()和pause()方法,可手動(dòng)控制媒體文件的播放
2:兩個(gè)元素都由canPlayType()方法,該方法接收一種格式/編解碼器字符串。返回值是"probably","maybe"或" "(空字符串)??兆址莊alse值,因此可這樣使用canPlayType();
if(audio.cnaPlayType("audio/mpeg")){
//進(jìn)一步處理
}
"probably"和"maybe"都是真值,因此可在if語(yǔ)句的條件測(cè)試中轉(zhuǎn)換為true。
16.4歷史狀態(tài)管理
通過(guò)hashchange事件,可以監(jiān)聽(tīng)URL參數(shù)(#后面的字符串)什么時(shí)候發(fā)生變化。
history.pushState()方法可接收三個(gè)參數(shù):狀態(tài)對(duì)象,新?tīng)顟B(tài)的標(biāo)題和可選的相對(duì)URL。