如何在chrome的新选项卡中保存本地存储变量



我正在创建一个Flask应用程序,用户可以在其中互相发送消息。目前,我正在尝试将我在一个选项卡中设置的显示名称记住在我打开的其他选项卡中。

if (!localStorage.getItem('name'))
var username = prompt('What is your Display Name');
localStorage.setItem('name',username);
document.addEventListener('DOMContentLoaded', () => {
document.querySelector('#name').innerHTML = 'Welcome to Flack '+ 
localStorage.getItem('name') + '!';

因此,当我第一次在第一个选项卡上启动应用程序时,用户通过提示框设置他们的名字,并且当我打开一个新选项卡时,他们会在页面上看到"Welcome User123!"消息,但是它会说"Welcome undefined!",而不是我在原始选项卡中设置的用户名。如何确保新选项卡记住我在第一个选项卡中设置的原始名称?上面的javascript代码是我目前尝试过的。

我在你的代码中看到:

if (!localStorage.getItem('name')) {
var username = prompt('What is your Display Name');
}
localStorage.setItem('name',username);

因此,如果未执行 If block,则用户名始终未定义。要解决此问题,只需添加{}

if (!localStorage.getItem('name')) {
var username = prompt('What is your Display Name');
localStorage.setItem('name',username);
}

最新更新