簡體   English   中英

即使存在Cookie,也找不到Cookie

[英]Cookie not found even though it exists

我有一個非常奇怪的問題,我正在尋找任何可能的想法。 我根據是否在客戶端的計算機上找到了cookie來加載天橋。 在天橋上有一個“不,謝謝”復選框,上面寫着“ 不再顯示 ”。 我檢查是否在天橋頁面中檢查過這樣:

$(document).ready(function() {
jQuery(window).bind("beforeunload", function(){ setCookieFO('noShowMerkleCpn','true',180);       });
}); 

function setCookieFO(c_name,value,exdays){
if($('#noThanks').attr('checked') ){
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}else{
}
} 

我在Firebug中運行了代碼並驗證了cookie在文檔卸載時保存了。 我甚至可以進入我的cookie並找到cookie。 以下是我檢查cookie的方法:

function runFancyBox(){
var idx = document.cookie.indexOf('noShowMerkleCpn');
if(idx < 0 ){
$('#cpnForm').click();
}else{
}
} 

我真的不關心cookie的價值。 我只是檢查它是否存在並顯示天橋如果沒有。 但是,由於某種原因,即使cookie存在,此檢查也將返回-1。

額外信息

該cookie保存在我的flyover.Html頁面下

server/bank/ima

查找cookie的腳本位於同一服務器上

server/bank/ima/script

使用Host: server以此Path值保存cookie

/bank/ima/

是否有任何可能導致此問題的跳出來? 有什么建議么?

我會檢查兩件事。 首先,你沒有附加設置document.cookie,所以你刪除所有以前的cookie(壞主意)。 第二,確保將cookie的域和路徑設置為與讀取它的頁面相同的域。

還要注意您對checked屬性的使用:

if($('#noThanks').prop('checked'))

http://timmywillison.com/2011/When-to-use-.attr%28%29-and-.prop%28%29.html

我在localhost和我的服務器上嘗試了你的代碼,它工作正常我假設你小心關閉瀏覽器,以便實際設置cookie。 我的猜測是你有一個路徑問題,雖然從你對路徑的看法來看,它肯定不明顯是什么。

我將代碼保存在我的服務器上,因此您至少可以檢查有效的代碼。

設置cookie的網址是: http//www.bridgesights.com/hondobridge/bbohondo/setcookietest.php

測試cookie的網址是: http//www.bridgesights.com/hondobridge/bbohondo/bbohondo_files/getcookietest.php

雖然這與您的問題無關,但我強烈建議使用jquery-cookie插件來操作cookie。 它非常輕巧,易於使用。 鏈接是: https//github.com/carhartl/jquery-cookie

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM