html5 – 当跟踪一个带有target =“_ blank”的链接时,新窗口上的sessionStorage不为空

前端之家收集整理的这篇文章主要介绍了html5 – 当跟踪一个带有target =“_ blank”的链接时,新窗口上的sessionStorage不为空前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在关注Weblinks时,我看到了 HTML5 sessionStorage的不同行为.有时第一页的sessionStorage被复制到TargetPage,有时我在TargetPage上得到一个空的sessionStorage.

任何人都可以解释我,为什么会这样?

鉴于以下链接

<a href="TargetPage.html" target="_blank">link</a>

当我通过右键单击打开链接时 – > “在新标签中打开链接”,sessionStorage在TargetPage上为空. (预期)
但是当我用正常的左键单击打开链接时,sessionStorage会被复制到TargetPage. (意外)

注意:我在Chrome和Firefox中看到过这种行为.在这两种情况下,Internet Explorer 9都提供空的sessionStorage.这是我的预期行为.

我创建了一个jsFiddle来演示行为:http://jsfiddle.net/P9nUv/3/

任何人都可以想到一个跨浏览器的解决方案,以确保新浏览器选项卡/ Windows的空SessionStorage,无论它们如何被打开?

任何帮助表示赞赏!

解决方法@H_301_21@
恕我直言:

我认为问题出在不同的浏览环境中.在W3C webStorage规范中有一段:

When a new Document is created in a browsing context which has a
top-level browsing context,the user agent must check to see if that
top-level browsing context has a session storage area for that
document’s origin

本报价中的文件表示新页面.
所以这意味着如果你在新标签页中打开它使用相同浏览上下文和相同sessionStorage的相同页面,但是如果你在新窗口中打开(即target =“_ blank”),浏览上下文就不同了.

要么

问题可能是单独的cpu线程,因此单独的浏览上下文和单独的sessionStorage.

猜你在找的HTML5相关文章