2016-12-02 21 views
0

複数のdocument.referer値をsessionStorageに格納する方法は?例えば複数のdocument.referer値をsessionStorageに格納する方法は?

あなたはwww.stackoverflow.com

訪問 - > - >現在のsessionStorage(値)

document.referer JS を使用してwww.stackoverflow.comです次に、stackoverflow.comのリンクの1つをクリックします。たとえば、stackoverflowの質問をクリックします。 ページwww.stackoverflow.com/questions。あなたの現在のsessionStorageは今www.stackoverflow.com/questions

ある - >と、あなたは、個々の質問のいずれかをクリックし、我々は4ページ目に 例アクセス可能であるのsessionStorageの前のdocument.referer値を保存するにはどうすればよいwww.stackoverflow.com/questions/howtofixthis/

をリンクstackoverflow.com/questions/howtofixthis/に以前のsessionStorage値がアクセス可能である必要があり、現在のページ内のリンクwww.stackoverflow.com/user/iamcoder で1人のユーザーをクリックし、値は次のとおりです。

第一の原点値= 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> 

答えて

0

セッションストレージの現在の値を読み取り、新しい値を追加する必要があります。

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); 
関連する問題