【发布时间】:2016-06-20 22:16:30
【问题描述】:
我发现 chrome 和 firefox 在会话存储方面存在差异。我不知道这是我做错了什么还是这是他们每个人的行为。
情况:我需要会话存储按选项卡而不是窗口工作。在 Firefox 中,我得到了这个结果,但在 chrome 中没有。这是我为模拟这种情况而制作的 Plunker:plunker
if(!($scope.fooBarKey = sessionStorage.getItem('fooBarKey'))) {
$scope.fooBarKey = Math.floor(Math.random() * 900000) + 100000;
sessionStorage.setItem('fooBarKey', $scope.fooBarKey);
}
感谢收听
Obs:回答 charlietfl 提出的问题
如果您在 chrome 上的 3 个选项卡中打开我的 Plunker,则保存和恢复的值(对于每个选项卡)是相同的。如果您在 Firefox 上打开 3 个选项卡,则保存和恢复的值(对于每个选项卡)是不同的
【问题讨论】:
-
请更具体地说明您遇到的差异。我们不应该离开现场来全面了解问题
-
@charlietfl 如果您在 chrome 上的 3 个选项卡中打开我的 Plunker,则保存和恢复的值(对于每个选项卡)是相同的。如果您在 Firefox 上打开 3 个选项卡,则保存和恢复的值(对于每个选项卡)是不同的。
-
您的期望是什么?请注意,您的
if正在使用无效比较。完全不确定这段代码应该做什么 -
无法在 mac 上的 chrome 51 上重现。
<base>是相关的还是只是解决问题的一些试验尘埃? -
@charlietfl 和 Kaiido 我找到了答案。感谢收听。
标签: javascript google-chrome firefox session-storage