如何使用弹出窗口将变量传递给新页面?

时间:2017-02-06 08:08:43

标签: javascript jquery html

我有function将点击元素的Id转换为变量,然后会打开一个新页面,显示新页面。如何在新页面上访问/使用变量?

var idToWrite = [];

$(function(){
    $(".szlink div").bind("click", function(){
    idToWrite.push($(this).attr("id")); 
    window.open("itemEncJS.html");
    //do something
});   

2 个答案:

答案 0 :(得分:1)

它不安全,并不意味着使用普通的html来处理来自网址的请求。

但是如果你真的想这样做,你可以打开带有url的弹出窗口,其值如下:

window.open("itemEncJS.html?name1=value1&name2=value2");

然后在第二页中你必须使用正则表达式从url中选择值,如下所示:

url = window.location.href;
nameValuePairs = url.match(/[\w]*=[\w]*/ig)
values = {}
nameValuePairs.forEach(function(pair){
  nv = pair.split("=");
  values[nv[0]] = nv[1];
})

现在,您可以使用来获取所需的值 e.g

val1 = values[name1]
val2 = values[name2]

答案 1 :(得分:0)

您可以使用本地存储空间: 在当前页面:

NULL

在新页面上:

var storage = window.localStorage;
storage.setItem('id', id);