2017-09-11 60 views
3

首页如何从当前窗口中的变量传递到另一个窗口

<button onclick="refereceid_Transfer()">Try it</button> 

<script> 


function refereceid_Transfer() { 
alert('test'); 
var referenceid = "jggd154278"; 
referenceid = btoa(referenceid); 
//sessionStorage.setItem("sent", referenceid); 
window.open("second.jsp", "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400"); 
} 

</script> 

第二页

<p id="s1"></p> 

<script> 
$(document).ready(function(){ 
    // var a = sessionStorage.getItem("sent",id); 
alert(a); 
}); 
</script> 

我需要从一个窗口把我的引用ID到另一个窗口。我尝试使用会话存储和本地存储来传递变量,我在两种情况下都失败了。有新的建议,我可以通过我的参考ID到新窗口。

感谢

回答

4

您可以试试localStorage

添加要通过另一页上项目:

localStorage.setItem("key", "value"); 

在另一个页面,您可以通过访问:

localStorage.getItem("key"); 

你可以存储对象数据,以及在localStorage的。请注意,如果您要存储一些敏感信息,请清除localStorage

简单的选项是使用查询参数,但我认为你不好。

或者你可以使用的sessionStorage:在另一页使用

sessionStorage.setItem("key", data); 
window.open("page_url","_blank"); 

$(document).ready(function(){   
    var data = sessionStorage.getItem("key"); 
    console.dir(data); 
}); 

注意的sessionStorage的对象等于localStorage的对象,不同的是它卖场只有一个会话的数据。当用户关闭特定浏览器选项卡时,数据将被删除。

+0

谢谢,如果想要切断服务器端,我需要会话存储是吗?因为我在本地主机工作后,我将托管到我的网站,为什么我发布了这个问题。 –

+0

好的,如果有任何问题,请发帖给我。 :) –

3

你可以用本地存储做到这一点,或者你可以通过它查询参数和阅读第2页的查询参数。 如果你在做服务器端渲染,你也可以使用会话存储。

+1

即使它的Java脚本它将全部在服务器端代码下,所以本地存储不会是一个效果,它可能会导致我的问题。 –

+1

我最后的解决方案将是参数,但我试图做的没有参数,因为我传递一个ID –

+0

我已经更新了我的答案,因为你说你正在做服务器端渲染,你也可以使用会话存储。 – karthikdivi

相关问题