我有一个名为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 在您拥有的具有同一域的所有页面之间共享。
转到此链接以获取有关本地存储的详细信息。
导航到页面的其他页面上下文后将丢失。因此,如果您的应用程序不是单页应用程序,那么您不能在两个不同的页面中使用全局变量。