发布于 2014-05-30 21:12:45
评论说发生了什么事。它使用本地存储(HTML5功能)编写和通知:
/** *是建立在HTML5 localStorage API之上的跨窗口广播服务。接口*在设计上模仿socket.io。*
下面的行设置侦听器。
if (identifier === 6) {
session_addEventListener("storage", storageHandler);
} else if (window.attachEvent) {
document.attachEvent('onstorage', storageHandler);
ytcenter.unload(function(){
document.detachEvent("storage", storageHandler);
});
} else {
window.addEventListener('storage', storageHandler, false);
ytcenter.unload(function(){
window.removeEventListener("storage", storageHandler, false);
});
}
显然,这两个选项卡上都有侦听器,因此每次向本地存储写入/读取时,都会通知另一个选项卡。
所以简单地说,不,数据不会送到服务器上。它只需向本地存储写入,并依赖浏览器同时对所有选项卡进行本地存储更改。
您可以在这里阅读有关存储事件的更多信息:http://dev.w3.org/html5/webstorage/#the-storage-event
值得注意的是,只有在激活文档时,事件才会立即可用(也就是说,在选项卡处于活动状态之前,事件不会/可能不会被处理)。我假设不同的浏览器处理“激活”的方式不同。
这样的文档对象不一定是完全活动的,但是在这些对象上触发的事件被事件循环忽略,直到文档再次完全激活。
https://stackoverflow.com/questions/23963396
复制相似问题