2010-07-26 86 views
0

我對JavaScript很陌生。javascript cookie問題

今天我嘗試這個功能,我在網上查到:

function get_cookie (cookie_name) 
{ 
    var cookie_string = document.cookie ; 
    if (cookie_string.length != 0) { 
     var cookie_value = cookie_string.match (
         '(^|;)[\s]*' + 
         cookie_name + 
         '=([^;]*)'); 
     return decodeURIComponent (cookie_value[2]) ; 
    } 
    return '' ; 
} 

如果我一旦調用此函數,它的工作原理;但是,如果我調用這個函數兩次,它不工作。

function onLoadThis() { 
    var t = get_cookie('t'); // if i add another one, not working 
    var s = get_cookie('s'); 
    // more code 
} 

這兩個cookie都存在。是否有任何解決方法使其工作,或者可以將兩個變量合併到Cookie中?感謝您的幫助。

+1

我推薦使用jQuery和jquery.cookie – 2010-07-26 11:19:10

+1

怎樣的document.cookie樣子? – Anurag 2010-07-26 11:20:22

+0

是的,爲了測試目的,在函數的開頭添加'alert(document.cookie);'。 – theycallmemorty 2010-07-26 12:20:32

回答

1

你可以嘗試,而不是一個正則表達式不同:

var cookie_value = cookie_string.match (
         '(^|;)[\s]*' + 
         cookie_name + 
         '=([^;]*)'); 

var cookie_value = cookie_string.match (
         '([^;]*)[\s]*' + 
         cookie_name + 
         '=([^;]*)');