2016-01-28 75 views
-2

我已經寫了這段代碼。但它不顯示cookie。只要我打開此頁面,它一次又一次顯示提示。我該如何糾正它?這個函數爲什麼不讀取和顯示cookie?

<body onload="myFunc()"> 

<script> 
function createCookie(value, exdays) 
{ 
    var date= new Date(); 
    var d= date.setTime(date.getDate()+(exdays*10000)); 
    var e = date.toUTCString(d); 
    var g = document.cookie= "user="+value+";"+" "+"expires="+e; 
    return g; 
} 
function readCookie() 
{ 
    var h = document.cookie; 
    var i= h.split(";"); 
    return i[0]; 
} 


function myFunc() 
{ 
    var a= readCookie(); 
    if(a!="") 
    { 
     alert("Welcome"+a); 
    } 
    else 
    { 
     var b = prompt("Enter your name", ""); 
     createCookie(b, 5); 
    } 
} 
+1

工作正常,我。 「它不工作」是什麼意思?你有沒有看到警報?如果您查看瀏覽器的錯誤控制檯,您是否看到錯誤消息? – JJJ

+0

調用'two'重新設置cookie,因爲它再次調用'one'。這可能會導致問題。無論如何,點擊「閱讀」後我可以看到警報。也許你在瀏覽器中禁用了cookies。 – Xufox

+2

如果你有超過1個cookie,'i [0]'只會顯示第一個'key = value'對。 –

回答

0

JavaScript是大小寫敏感的:

var date = new Date(); 
+0

好的,先生,但這並不能解決我的問題。我懇求你檢查編輯。 –

+0

先生請解決問題。 –

0

在大多數瀏覽器中,即使在Chrome中,你的剪切工作都很好。除了你正在使用本地文件系統(URL = file:/// xxx)。 Chrome瀏覽器默認禁用了本地文件Cookie,但您可以使用命令參數'--allow-file-cookies'激活它們。

+0

好的。這個問題解決了。現在請檢查編輯。有一個新問題。 –