2017-08-01 70 views
0

我正在開發一個項目,我必須製作一個按鈕來記住用戶選擇的特定頁面。它應該像Cookie一樣工作,但我需要更多關於如何在Cookie上保存網站頁面的信息。主要部分是當用戶點擊一個按鈕時,網站記住用戶的選擇,當用戶在一段時間後進入同一頁面時,他會看到他的選擇。當然,如果用戶再次按下按鈕,他的選擇將被刪除。設置按鈕以記住用戶選擇的頁面

P.s.我是編碼方面的新人,所以你的幫助對我有用。

在此先感謝。

+0

存儲所有用戶選擇首選項並不是一個好主意。您可以在所有瀏覽器中使用javascript的localstorage。基於頁面散列,您可以存儲該部分。 –

+0

我只需要它在一家公司實習 –

回答

0

使用以下任一下面來存儲用戶的喜好

sessionStorage.setItem("sessionData", "I am set in session storage."); 
localStorage.setItem("localData", "I am set in local storage."); 

我的建議是使用URL散列組合會話或localStorage的

1

您可以使用瀏覽器存儲這個

while.storing存儲偏好

當用戶選擇一些值時:

localStorage.setItem("userSelection", "selection-value"); 

,並在用戶頁面上輸入,您驗證是否userSelection存在:

var userSelection = localStorage.getItem('userSelection'); 
if (userSelection) { 
    // some action 
} 

查看更多:localStorage

0

你可以做到這一點基於ID,如在我的例子右婁

function getCookie(name){ 
 
\t var b=name+"=", 
 
\t c=decodeURIComponent(document.cookie), 
 
\t d=c.split(";"); 
 
\t for(var e=0;e<d.length;e++){ 
 
\t \t for(var f=d[e];" "==f.charAt(0);)f=f.substring(1); 
 
\t \t \t if(0==f.indexOf(b))return f.substring(b.length,f.length) 
 
\t } 
 
} 
 

 
function setCookie(name,value,period,path){ 
 
\t var time=new Date; 
 
\t time.setTime(time.getTime()+1e3*(60*(60*(24*period)))); 
 
\t document.cookie=name+"="+value+";"+"expires="+time.toUTCString()+";path="+(path?path:"/") 
 
} 
 

 
function removeCookie(cookie_name){ 
 
\t if(getCookie(cookie_name)){ 
 
\t \t document.cookie=cookie_name+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; 
 
\t } 
 
} 
 

 
document.getElementById('xxx').onclick = function(){ 
 
    if(getCookie(this.id)==1) { 
 
    removeCookie(this.id) 
 
    } else { 
 
    setCookie(this.id,1,999999); 
 
    } 
 
}
<button id="xxx">Selection 1</button>

並且當然使用php或者javascript來檢測if cookie存在。

相關問題