我在js中传递变量时遇到问题!我有两个html页面,每个html页面都有一个js脚本。我希望当单击第一个 html 中的按钮时,变量传递到另一个 js 文件。我的第一个 html(index.html) 是:// test.jsvar vari;document.getElementById("btn").addEventListener("click", function() { vari = 10; window.location.href = "./index2.html";});<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <p>test</p> <button id="btn">click</button> <script src="./test.js"></script></body></html>这个html的脚本是(test.js):我希望当单击 btn 时转到 html2(index2.html) 并通过 vari 传递到 js2(test2.js)!我的 html2(index2.html) 是:// test.jsvar vari;document.getElementById("btn").addEventListener("click", function() { vari = 10; window.location.href = "./index2.html";});// test2.jsconsole.log(vari);<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <script src="./test.js"></script> <script src="./test2.js"></script></body></html>但在 test2.js 中 vari 是未定义的。我怎么解决这个问题?
1 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
将变量保存在 sessionStorage 中。代替
vari = 10;
做
sessionStorage.vari = 10;
然后您可以在以下位置检索它test2.js
:
console.log(sessionStorage.vari);
请注意,存储将始终包含一个字符串。如果类型很重要,请确保转换回数字:
const vari = Number(sessionStorage.vari);
对于更通用的解决方案,要传输任何类型的可序列化数据,请JSON.stringify
在保存和JSON.parse
检索时使用。
- 1 回答
- 0 关注
- 76 浏览
添加回答
举报
0/150
提交
取消