为了账号安全,请及时绑定邮箱和手机立即绑定

单击js中的按钮时传递变量

单击js中的按钮时传递变量

翻过高山走不出你 2023-10-04 15:49:37
我在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检索时使用。


查看完整回答
反对 回复 2023-10-04
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信