Cannot Set Cookies In Javascript
Solution 1:
Recently I stumbled upon a similar issue. My script couldn't store a cookie in Chromium, although it worked well on all other major browsers. After some googling it turned out that Chrome ignores cookies from local pages. After I uploaded the page to remote server code magically started to work.
Solution 2:
I tried to save an cookie on Chrome and had the same error, that it would save. Although it did work in Firefox, so I asked an collegue and he suggested that I take away path and domain (I had name of cookie, value, expire, path amd domain) and all of a sudden it worked. So just to get the cookie to actually save in Chrome, you just need name, value and expire.
Hope it helps.
Example:
functioncreateCookie(name,value,days) {
if (days) {
var date = newDate();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
elsevar expires = "";
document.cookie = name+"="+value+expires+";";
}
Solution 3:
Chrome denies file cookies. To make your program work, you going to have to try it in a different browser or upload it to a remote server. Plus, the code for your setcookie and getcookie is essentially wrong. Try using this to set your cookie:
functionsetCookie(name,value,expires){
document.cookie = name + "=" + value + ((expires==null) ? "" : ";expires=" + expires.toGMTString())
}
example of usage:
var expirydate=newDate();
expirydate.setTime( expirydate.getTime()+(100*60*60*24*100) )
setCookie('cookiename','cookiedata',expirydate)
// expirydate being a variable with the expiry date in it// the one i have set for your convenience expires in 10 days
and this to get your cookie:
functiongetCookie(name) {
var cookieName = name + "="var docCookie = document.cookievar cookieStart
var end
if (docCookie.length>0) {
cookieStart = docCookie.indexOf(cookieName)
if (cookieStart != -1) {
cookieStart = cookieStart + cookieName.length
end = docCookie.indexOf(";",cookieStart)
if (end == -1) {
end = docCookie.length
}
returnunescape(docCookie.substring(cookieStart,end))
}
}
returnfalse
}
example of usage:
getCookie('cookiename');
Hope this helps.
Cheers, CoolSmoothie
Solution 4:
With chrome, you cannot create cookies on a local website, so you need to trick your browser into thinking this site is not local by doing the following:
1) Place the root directory of the web site into C:\inetpub\wwwroot
, (so it looks like C:\inetpub\wwwroot\yourProjectFolder
)
2) Get your computer name
by right clicking Computer
, clicking properties, and looking for Computer Name
3) Access your site in the browser by visiting http://my-computer-name/yourProjectFolder/index.html
, at which point creating cookies should work.
(notice that I use dashes in the computer name, NOT underscores)
Solution 5:
I get the same weird behavior when opening a page in Chrome from localhost
When I map the same page in my hosts file and open the same page through the mapped name, normal cookie functionality resumes.
- Open you hosts file as admin. (usually
c:\windows\system32\drivers\etc\hosts
) - Add
127.0.0.1 localhostdevelopment.com
or similar to the end of your hosts file - Save your hosts file (will be rejected if you did not open the file as admin)
- Go to http://localhostdevelopment.com/ (or whatever you called it) in Chrome.
- Please enjoy having your cookies behave normally.
Post a Comment for "Cannot Set Cookies In Javascript"