2
所以我用這個代碼刪除一個cookie,並且有它是否已經被訪問過的頁面重定向:cookie不工作,這是錯誤的嗎?
<script language="JavaScript"><!--
function Get_Cookie(name) {
var start = document.cookie.indexOf(name+"=");
var len = start+name.length+1;
if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
if (start == -1) return null;
var end = document.cookie.indexOf(";",len);
if (end == -1) end = document.cookie.length;
return unescape(document.cookie.substring(len,end));
}
function Set_Cookie(name,value,expires,path,domain,secure) {
document.cookie = name + "=" +escape(value) +
((expires) ? ";expires=" + expires.toGMTString() : "") +
((path) ? ";path=" + path : "") +
((domain) ? ";domain=" + domain : "") +
((secure) ? ";secure" : "");
}
function Delete_Cookie(name,path,domain) {
if (Get_Cookie(name)) document.cookie = name + "=" +
((path) ? ";path=" + path : "") +
((domain) ? ";domain=" + domain : "") +
";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
var mainUrl = 'noflash.html';
var days = 365; // valid one year from now
function isCookieEnabled() {
if (document.all) return navigator.cookieEnabled;
Set_Cookie('testcookie',today.getTime());
var tc = Get_Cookie('testcookie');
Delete_Cookie('testcookie');
return (tc == today.getTime());
}
var today = new Date();
var zero_date = new Date(0,0,0);
today.setTime(today.getTime() - zero_date.getTime());
var todays_date = new Date(today.getYear(),today.getMonth(),today.getDate(),0,0,0);
var expires_date = new Date(todays_date.getTime() + (days * 86400000));
var beenHere = Get_Cookie('beenHere');
if (beenHere == 'yes') {
if (document.images) window.location.replace(mainUrl);
else window.location = mainUrl;
}
else if (isCookieEnabled()) Set_Cookie('beenHere','yes', expires_date);
//--></script>
它正常工作,我查了餅乾,它是創建,並參觀後頁面一次,我得到重定向,但問題是到期,它說,當瀏覽器關閉時,這不是它應該做的(從現在開始1年)。
代碼是否錯誤?
謝謝,是我從一個網站的代碼,我真的不知道的JavaScript,我只需要它,也許我會一段時間學習。那麼你想讓我把alert(new Date()。toGMTString())'放在哪裏,我現在的格式是錯誤的? – cb1295
嗯,我只是想說明一下。我會用更多信息更新答案。 – Pointy
GOT IT!謝謝,一堆,警告是一個好主意,以確保功能正常工作,現在我得到了cookie的工作,到2081年到期,可能會改變這一點,但你做了你的工作,謝謝! – cb1295