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