历史记录与跨源消息
历史记录管理
HTML5 定义了两种用于历史记录管理的机制:
- 利用
location.hash
和haschange
事件。 - 利用
history.pushState()
和popstate
事件。
跨源消息传递
HTML5 在 Window 对象上定义了一个可以在不同源脚本之间进行消息传递的方法:postMessage()
。该方法接收两个参数,第一个参数是要传递到消息,第二个参数是指定目标窗口源的字符串(如果是通配符*
的话表示可以传递给任何窗口,如果是/
表示只允许传递给同源窗口)。
如果指定的源匹配的话调用该方法时在目标窗口的 Window 对象上会触发 message
事件,在目标窗口可以通过定义 message
事件处理程序来处理消息,该事件包含以下三个属性:
- data:消息内容副本
- source:消息源Window对象
- origin:消息源URL字符串
无评论