繁体   English   中英

如何在sessionStorage中存储多个document.referer值?

[英]How to store multiple document.referer value in sessionStorage?

如何在sessionStorage中存储多个document.referer值?

例如:

您访问www.stackoverflow.com

->当前会话存储(值)是使用JS 文档的 www.stackoverflow.com

->然后单击stackoverflow.com上的链接之一,例如,单击stackoverflow问题页面www.stackoverflow.com/questions 您当前的sessionStorage现在是www.stackoverflow.com/questions

-> ,然后单击单个问题链接之一www.stackoverflow.com/questions/howtofixthis/

我们如何将之前的document.referer值存储在sessionStorage中,可在stackoverflow.com/questions/howtofixthis/的第四页示例中访问,您可以在当前页面中单击链接为www.stackoverflow.com/user/iamcoder一个用户,然后单击sessionStorage值应可访问,值为:

第一个原始值= www.stackoverflow.com

第二届www.stackoverflow.com/questions

第三届www.stackoverflow.com/questions.com/howtofixthis/

第四届www.stackoverflow.com/user/iamcoder

使用sessionStorage的目的是将访问的页面URL存储在当前会话中,并可通过多个外部页面进行访问。


到目前为止,我提出了这段代码,但没有在源中存储以前的链接。

<script>
var s_origin = document.referrer;
var on_session = sessionStorage.setItem('origin', s_origin)
var data = sessionStorage.getItem('origin');
console.log('session origin ' + data)
</script>

您需要读取会话存储中的当前值并追加新值。

function appendReferrer(value){

   if(value){

      var referrers = JSON.parse(sessionStorage.getItem('origin') || null) || [];
      referrers.push(value);
      sessionStorage.setItem('origin',JSON.stringify(referrers));

   }

}


function getReferrers(){

 return JSON.parse(sessionStorage.getItem('origin')) || [];

}

用法:

//Append a new Item
appendReferrer("stackoverflow.com");

//Read all referrers
var referrers = getReferrers();
console.log(referrers);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM