Cookies設置爲document.cookie
,但是它們不會發送到服務器(因此在那裏沒有效果),直到下一頁加載。我假設document.cookie
的標準行爲是模仿這一點,並且不更新讀取值直到下一頁面載入(換句話說,設置document.cookie
設置cookie,但是讀取document.cookie
給出在請求中發送的cookie)。
IE9修復了舊版本中存在的很多問題。我的意思是LOT。這很可能是其中之一。我想,解決方法是自己處理cookie。正如在PHP我具備的功能:
<?php
function setRealCookie(...) {
setcookie(...);
$_COOKIE[...] = ...;
}
?>
在JavaScript中,你可以創建你保持餅乾的跟蹤,包括當一個cookie設置等更新自身的對象。喜歡的東西:
(cookies = {
data: {},
init: function() {
var c = document.cookie.split(";"), l = c.length, i, t;
for(i=0; i<l; i++) {
t = c[i].split("=");
cookies.data[t.shift()] = t.join("=");
}
},
read: function(key) {
return cookies.data[key];
},
set: function(key,value) {
document.cookie = key+"="+value;
cookies.data[key] = value;
}
}).init();
那麼你可以設置一個cookie與cookies.set("qwe","1");
與cookies.read("qwe");
讀回。
header('P3P:CP =「CAO PSA OUR」'); – Sam152