gpt4 book ai didi

javascript - 使用 Javascript 中的弹出窗口将变量从一个 html 文档传输到另一个

转载 作者:行者123 更新时间:2023-11-27 23:23:00 25 4
gpt4 key购买 nike

所以我有一个名为 commit_PNG.html 的主 html 文档,在这个文档中我有两个简单的字符串变量,我想在另一个名为 popup.html< 的 html 文档中使用。目前我有这样的功能:

<script type="text/javascript">
function PopUpFenster(id) {
myWindow = window.open('popup.html?id='+id, 'Info window', 'height=350, width=800');
}
</script>

在第二个 html 文档中,我想使用字符串变量。我需要一个在 popup.html 中类似这样工作的解决方案:

var string1 = "http://www.test.com/"+ commit_PNG.stringvariable1;
var string2 = "http://www.test.com/"+ commit_PNG.stringvariable2;

我不确定,但我要么需要直接从 commit_PNG.html 获取它们,要么使用 window.open() 方法解析它们。

最佳答案

使用散列部分来传输一个 JSON 对象,如下所示:

commit_PNG.html 中:

var myStrings = {
str1:"my first str",
str2:"my second str"
}

function PopUpFenster(id) {
var myUrl = "popup.html?id="+id+"#"+encodeURIComponent(JSON.stringify(myStrings));

window.open(myUrl , "Info window", "height=350, width=800");
}

然后在你的popup.html中做:

var myData = JSON.parse(decodeURIComponent(window.location.hash.substring(1)));
alert(myData.str1 + " " + myData.str2);

这是在 URL 中传递日期的好方法。您可以传递一个 JSON 对象,并使用 stringify 和 encodeURIComponent 使其成为 URL 的安全字符串。使用哈希部分,确保它不会发送到服务器。

关于javascript - 使用 Javascript 中的弹出窗口将变量从一个 html 文档传输到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40020245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com