View Full Version : cookie expire
cunning-fox
07-18-2002, 03:02 AM
Hi,
I need for this bit of code to expire when the browser closes:
}
function CookieDelete() {
var cookie = this.$name+'='
if (this.$path) cookie+='; path='+this.$path
if (this.$domain) cookie+='; domain='+this.$domain
cookie+='; expires=Fri, 02-Jan-1970 00:00:00 GMT' // MAKE IT EXPIRE!
this.$doc.cookie=cookie
}
Thanks for any help
requestcode
07-18-2002, 03:51 AM
Here is a link to a tutorial on Session only Cookies:
http://www.wsabstract.com/javatutors/cookie.shtml
This should help you get started.
cunning-fox
07-18-2002, 05:36 AM
Thanks for the reply... But it did not help much.
Could anyone curve the code a little to make it delete itself upon closing or a few seconds, instead of a date you have to keep changing every day.
Here is the whole code:
<script type=text/javascript>
// cookie construct
function Cookie(document,name,hours,path,domain,secure) {
// any VAR in "this" that does not start with a "$" will
// be written into the cookie (read from also)
this.$doc = document
this.$name = name
if (hours) this.$expiration=new Date((new Date()).getTime()+hours*3600000); else this.$expiration = null
if (path) this.$path = path; else this.$path = null
if (domain) this.$domain = domain; else this.$domain = null
if (secure) this.$secure = true; else this.$secure = false
}
function CookieWrite() {
var cookieval=""
for(var prop in this) {
if ((prop.charAt(0) == '$') || ((typeof this[prop]) == 'function') || prop == '') continue
if (cookieval != "") cookieval += '&'
cookieval+=prop+":"+escape(this[prop])
}
var cookie=this.$name+"="+cookieval
if (this.$expiration) cookie+='; expires=' + this.$expiration.toGMTString()
if (this.$path) cookie+='; path=' + this.$path
if (this.$domain) cookie+='; domain=' + this.$domain
if (this.$secure) cookie+='; secure'
this.$doc.cookie=cookie
}
function CookieRead() {
var allcookies=this.$doc.cookie
if (allcookies=="") {
return false
}
var start= allcookies.indexOf(this.$name+'=')
if (start== -1) {
return false
}
start += this.$name.length+1
var end=allcookies.indexOf(';',start)
if (end == -1) end=allcookies.length
var cookieval = allcookies.substring(start,end)
var a = cookieval.split('&')
for (var i=0;i < a.length;i++) a[i]=a[i].split(':')
for (var i=0;i < a.length;i++) this[a[i][0]]=unescape(a[i][1])
return true
}
function CookieDelete() {
var cookie = this.$name+'='
if (this.$path) cookie+='; path='+this.$path
if (this.$domain) cookie+='; domain='+this.$domain
cookie+='; expires=Fri, 02-Jan-2002 00:00:00 GMT' // MAKE IT EXPIRE!
this.$doc.cookie=cookie
}
new Cookie()
Cookie.prototype.write = CookieWrite
Cookie.prototype.del = CookieDelete
Cookie.prototype.read = CookieRead
// end cookie construct
var myCookie = new Cookie(document,"test",240)
myCookie.test="test";
myCookie.write();
if (!myCookie.read() || myCookie.test!="test")
document.write("Your computer does not have cookies enabled!");
else
document.write("Your computer does have cookies enabled!");
</script>
Zvona
07-18-2002, 09:50 AM
Originally posted by cunning-fox
Thanks for the reply... But it did not help much.
Could anyone curve the code a little to make it delete itself upon closing or a few seconds, instead of a date you have to keep changing every day.
Here is the whole code:
<script type=text/javascript>
// cookie construct
.
.
.
</script>
In future, try to post to a correct forum. If you're having a follow-up or you didn't find a solution to your problem (or it appears that you need alternate technique for instance), continue posting in a correct forum.
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.