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

我在js中传递变量时遇到问题!我有两个html页面,每个html页面都有一个js脚本。我希望当单击第一个 html 中的按钮时,变量传递到另一个 js 文件。


我的第一个 html(index.html) 是:


// test.js


var 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.js

var vari;

document.getElementById("btn").addEventListener("click", function() {

  vari = 10;

  window.location.href = "./index2.html";

});


// test2.js

console.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 是未定义的。我怎么解决这个问题?



翻过高山走不出你
浏览 77回答 1
1回答

素胚勾勒不出你

将变量保存在 sessionStorage 中。代替vari&nbsp;=&nbsp;10;做sessionStorage.vari&nbsp;=&nbsp;10;然后您可以在以下位置检索它test2.js:console.log(sessionStorage.vari);请注意,存储将始终包含一个字符串。如果类型很重要,请确保转换回数字:const&nbsp;vari&nbsp;=&nbsp;Number(sessionStorage.vari);对于更通用的解决方案,要传输任何类型的可序列化数据,请JSON.stringify在保存和JSON.parse检索时使用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5