在 2 个窗口中需要全局变量



我有一个名为find.html的文件和文件结果.html。 它们都在头部包含以下行:

 <script src="func.js"></script>

在文件功能中.js ,在我写的第一行

var reciever_username;

现在,我在文件"func.js中有 2 个函数

function sendMessage(username){ //called from find.html
reciever_username = username;
alert(reciever_username); //work good
window.open('send_message.html', 'newwindow', 'width=300, height=250'); 
}
function message_handle(){//called from result.html
    alert(reciever_username); //show me : undefind
  }

我做错了什么?

您的问题是页面窗口上下文,当您调用具有不同窗口上下文的函数时,您有 2 个不同的页面上下文,您可以尝试以下方法:

function sendMessage(username){ //called from find.html
    localStorage.setItem("reciever_username",username);
    alert(localStorage.getItem("reciever_username")); //work good
    window.open('send_message.html', 'newwindow', 'width=300, height=250'); 
}
function message_handle(){//called from result.html
    alert(localStorage.getItem("reciever_username")); //show me : undefind
}

localStorage 在您拥有的具有同一域的所有页面之间共享。

转到此链接以获取有关本地存储的详细信息。

导航到页面的其他页面上下文后将丢失。因此,如果您的应用程序不是单页应用程序,那么您不能在两个不同的页面中使用全局变量。

相关内容

  • 没有找到相关文章

最新更新