很多網站、部落格都採用生成技術把網頁產生html靜態頁面了,以利於搜尋引擎的索引排名,減輕伺服器負擔。靜態頁面由於其穩定性快速性,的確為SE、使用者及站長帶來了方便。但有時,需要記住用戶的訊息,如用戶留下評論後,下次再來,就要記住該用戶的訊息,不必再輸入。
這對使用者來說,可以提高他們的歸屬感,熟悉感。如何實現呢?
首先,我們需要在使用者提交評論後,給客戶端賦予幾個相關的cookies值,這個很簡單,直接在評論提交頁面進行賦值就可以了,asp下的cookies簡單賦值方式採用下面的這樣的語句:
複製代碼代碼如下:
response.cookies(username)=name
response.cookies(username).expires=Date+30
透過以上asp程式中的cookies賦值,我們成功在使用者客戶端寫入網站的使用者cookies資訊。以下要做的就是如何在靜態頁html讀取這個cookies,並且顯示在使用者面前。因為是產生了html,我們無法再利用asp程式讀取這個cookies,需要透過js讀取這個cookies,並賦予到想對應的input值裡。
利用js讀取cookies並賦值的程式碼如下:
複製代碼代碼如下:
<script type=text/javascript>
//js取得cookie
var acookie=document.cookie.split(; );
function getck(sname)
{//取得單一cookies
for(var i=0;i<acookie.length;i++){
var arr=acookie[i].split(=);
if(sname==arr[0]){
if(arr.length>1)
return unescape(arr[1]);
else
return ;
}}
return ;
}
//將對應的form裡的input賦值
document.form_name.input_name.value=getck(username);
</script>
這樣,在靜態頁面中就可以成功的從客戶端的系統裡讀取我們曾經賦值過的cookies訊息,並展示出來了。是不是很簡單,呵呵。如果你有其他看法,歡迎與我一起討論。