cunning-fox
07-18-2002, 11:39 PM
Hi,
Is anyone good enough with cookies to make this cookie expire upon the browser closing? I'm not sure how to make the expiration in this format. Thanks
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>
Is anyone good enough with cookies to make this cookie expire upon the browser closing? I'm not sure how to make the expiration in this format. Thanks
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>