2016-06-20 9 views
1

私は、セッションストレージに関するchromeとfirefoxの違いを見出しています。私はそれが私が間違っているのか、それともそれぞれの行動であるのか分かりません。ChromeとFirefoxの間のセッションストレージの動作に違いはありますか?

状況:私はタブではなく、ウィンドウで動作するようにセッションストレージを必要としています。 firefoxでは、私はこの結果を得るが、クロムではない。ここで私は状況をシミュレートするために作られたPlunkerです:


を聴くための plunker

if(!($scope.fooBarKey = sessionStorage.getItem('fooBarKey'))) { 
    $scope.fooBarKey = Math.floor(Math.random() * 900000) + 100000; 
    sessionStorage.setItem('fooBarKey', $scope.fooBarKey); 
} 

感謝をOBS:あなたはクロームの3つのタブで私のPlunkerを開くとcharlietfl

により質問への返信保存され、(タブごとに)復元される値は同じです。あなたがFirefoxの上(各タブのために)保存され、回収された値を3つのタブを開くと、いくつかの研究の後

+0

あなたが遭遇している違いについてより具体的にしてください。問題を完全に理解するために現場に出るべきではない – charlietfl

+0

@charlietfl Plunkerをクロムの3つのタブで開くと、(タブごとに)保存され、復元される値は同じです。 firefoxで3つのタブを開くと、(タブごとに)保存され回復される値が異なります。 – ThCC

+0

あなたの期待は何ですか? 'if'が無効な比較を使用していることに注意してください。このコードが何をすると期待されているか全く分かりません – charlietfl

答えて

0

異なると、ここでの仕事で助けのためのいくつかの賢明な男性を求めている、私は私が間違ってやっていたかを理解するようになりました。

実際には各クロムセッションは、独自のsessionStorageを持っています。問題は、新しいものを開く代わりにタブを複製していたことです。タブを複製するクロムはwindow.openを使用し、sessionStorageを含む親からのすべての情報を共有する子タブを生成します。

関連する問題