サーバーにデイカウンターがあり、動作します。しかし、別のタブまたはウィンドウ ブラウザーを開くと、カウンターは表示されますが、時間差があります。私がやりたいことは、ブラウザ ウィンドウまたはタブの両方に同じ値を表示することです。
sessionStorage を使用してドキュメントを頻繁にリロードしようとしましたが、期待どおりに実行されず、非同期の値が表示されます。
コードは次のとおりです。
function altra_finestra()
{
var n;
//reload the document in order to display the same values
if(sessionStorage.n === 1) location.reload(true);
else sessionStorage.setItem('n', 1);
}
//display the values of the counter. It works
function mostrar_dies()
{
altra_finestra();
setTimeout(function ()
{
if((i > 0) && (spandies >= 0) && (spanhores >= 0) && (spanminuts >= 0))
{
i--;
spansegons = document.getElementById('segons').innerHTML = i;
//more code that works
}
if(spandies >= 0) spandies =
document.getElementById('dies').innerHTML = spandies;
if(spanhores >= 0) spanhores =
document.getElementById('hores').innerHTML = spanhores;
if(spanminuts >= 0) spanminuts =
document.getElementById('minuts').innerHTML = spanminuts;
}
mostrar_dies();
}, 1000)
}
複数のブラウザ ウィンドウまたはタブで同じ値を表示できないのはなぜですか? コードにエラーはありません。
ありがとう。