一、跨文档消息传递
有时候也叫XMD,指的是在来自不同域的页面间传递消息
XMD的核心是postMessage(),接受两个参数,一条消息和一个表示消息接收方来自那个域的字符串
从接收到XMD消息时,会触发window处理程序的事件包括以下三个方面的重要信息,
data:作为postMessage()的第一个参数
origin:发送消息文档所在的域
source:发送消息的文档的window对象的代理如果发送消息的窗口来自同一个域,那这个对象就是window
二、原生拖放
拖动某元素时,会触发dragstart,drag,dragend
当某个元素被拖放到放置目标上时,会触发dragenter,dragover,dragleave
2.1、自定义放置目标
在拖动某些无效的放置目标时,想要将其变成有效的放置目标,可以重写dragenter和dragover
EventUtil.addHandler(droptarget,"dragover",function(event){
event=EventUtil.getEvent(event)
EventUtil.preventDefault(event)
})
EventUtil.addHandler(droptarget,"dragenter",function(event){
event=EventUtil.getEvent(event);
EventUtil.preventDefault(event)
})
2.2、dataTransfer对象
它是事件对象的一个属性,用于从被拖动元素项放置目标传递格式富的数据。因为它是事件对象的属性,所以只能在拖放事件的事件处理程序中来访问dataTransfer对象
它主要有两个方法:getData()和setData(),setData的第一个参数,也是getData()的唯一参数,是一个字符串,便是保存的数据类型,取值为text或URL
event.dataTransfer.setData("text","some text")
var text=event.dataTransfer.getData("text")
event.dataTransfer.setData("URL","http://www/wrox.com/");
var text=event.dataTransfer.getData("URL")
2.3、dropEffect与effsectAllowed属性
2.4、可拖动
draggable
三、媒体元素
和
3.1、属性
3.2、事件
3.3、自定义媒体播放器
使用和元素的play()和pause()方法,可以手工控制媒体文件的播放
3.4、检测编解码器的支持情况
canPlayType()
3.5、Audio类型
四、历史状态管理
history.pushState(),该方法接收三个参数,状态对象,新状态的标题,可选的相对URL
history.replaceState():更新当前状态