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

Javascript 如何使用弹出窗口将变量传递到新页面?,javascript,jquery,html,Javascript,Jquery,Html,我有一个函数,它可以将单击元素的Id转换为变量,然后打开一个新窗口并显示一个新页面。如何访问/使用新页面上的变量 var idToWrite = []; $(function(){ $(".szlink div").bind("click", function(){ idToWrite.push($(this).attr("id")); window.open("itemEncJS.html"); //do something }); 这是不安全的,也

我有一个函数,它可以将单击元素的Id转换为变量,然后打开一个新窗口并显示一个新页面。如何访问/使用新页面上的变量

var idToWrite = [];

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

这是不安全的,也不意味着使用普通html来处理来自URL的请求

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

window.open("itemEncJS.html?name1=value1&name2=value2");
url = window.location.href;
nameValuePairs = url.match(/[\w]*=[\w]*/ig)
values = {}
nameValuePairs.forEach(function(pair){
  nv = pair.split("=");
  values[nv[0]] = nv[1];
})
然后在第二个页面中,您必须使用正则表达式从url中选择值,如下所示:

window.open("itemEncJS.html?name1=value1&name2=value2");
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

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

var storage = window.localStorage;
storage.setItem('id', id);
在新页面上:

var storage = window.localStorage;
var id = storage.getItem('id');

您好,首先使用搜索,然后提出一个问题@Christophvh的可能重复项我很想将其标记为重复项,但我认为仅使用jQuery就足够了。该链接不包括jQuery。在我需要它的地方,安全性并不重要:A7S的答案对我来说是赢家,不过,感谢你们两位的努力和帮助!