dis*_*ame 8 html javascript firefox google-chrome
在同一 URL 上打开多个选项卡或窗口会为每个选项卡或窗口创建 sessionStorage
https://stackblitz.com/edit/session-storage?file=index.js
输入您的姓名并点击“商店”
您的姓名现在存储在 sessionStorage 中,并且页面视图已更新。
sessionStorage.setItem('name', nameInput.value);
nameSpan.innerHTML = nameInput.value;
Run Code Online (Sandbox Code Playgroud)
现在点击“在新标签页中打开”
这将通过创建指向当前页面的链接元素并调用click()
它来在新选项卡中打开页面
const link = document.createElement('a');
link.target = '_blank';
link.href = '/';
link.setAttribute('visibility', 'hidden');
document.body.appendChild(link);
link.click();
link.remove();
Run Code Online (Sandbox Code Playgroud)
如你所见,你的名字还在
为什么会发生这种情况,有没有办法用空 sessionStorage 打开新选项卡(不清除当前选项卡 sessionStorage)?
在 Chrome 75 和 Firefox 66 上对此进行了测试
不,它与 stackblitz 无关,在 localhost 上的行为方式相同
如果您导航到同一应用程序中的另一个链接,会话必须以这种方式工作以维持状态。如果您想在没有该会话的情况下打开选项卡,请尝试使用隐身模式。隐身模式将打开带有新会话的窗口。
当点击带有 target="_blank" 的链接时,新窗口上的 sessionStorage 不为空
归档时间: |
|
查看次数: |
3571 次 |
最近记录: |