Jam*_*ber 1 javascript browser variables cross-browser
我有一些 JavaScript 将查看是否设置了 var,如果设置了,则执行某些操作,否则不执行。
if (reset === 'reset') {
gallery.unformat(container);
}
Run Code Online (Sandbox Code Playgroud)
reset仅在页面加载后设置。所以这个脚本只会在用户重新加载页面后执行。
如果我在 Firefox 中打开一个新标签reset未设置。如果我在 chrome 中打开一个新标签reset设置。
因此,对于我的情况,chrome 会正确处理它,并且只有在第一次访问该站点时才会设置此 var,因此一切正常。
我想知道变量是否跨选项卡传播,如果是这样,哪些浏览器会做什么?
变量应该不坚持跨越新的选项卡。我无法重现您在 Chrome 中看到的行为。
你应该考虑使用cookies,或者如果你想成为 HTML5,看看localStorage.
这两个都是特定于域的,而不是每个标签。
例如localStorage,你可以去;
// Check that localStorage is supported in the current browser, and then try
// to retrieve the item.
if ('localStorage' in window && localStorage.getItem('reset') === 'reset') {
gallery.unformat(container);
}
Run Code Online (Sandbox Code Playgroud)
然后您可以reset稍后通过;
localStorage.setItem('reset', 'reset');
Run Code Online (Sandbox Code Playgroud)