Ash*_*Ash 6 javascript cookies setcookie
这是我希望的一个快速问题......
我正在尝试设置一个可在全站范围内使用的cookie.我正在创建一个潜在客户型网站.我希望用户填写表单以访问独家信息.一旦他们填写表格,他们就可以访问信息.
我在用户提交表单时丢弃一个cookie,这样他们就可以在下次访问网站时直接访问内容.他们填写的表格位于网站每个页面的侧边栏中.当用户在一个页面上填写表单时,他们不应该在网站的任何页面上看到它.
一切都在运作,除了全站点位.我认为问题在于这段代码:
function set_cookie(name, value, expires, path, domain, secure){
if (!expires){expires = new Date()}
document.cookie = name + "=" + escape(value) +
((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
((path == null) ? "" : "; path=" + path) +
((domain == null) ? "" : "; domain=" + domain) +
((secure == null) ? "" : "; secure");
}
Run Code Online (Sandbox Code Playgroud)
但这是下面的完整代码.非常感谢!
<script type="text/javascript">
<!--
cookie_name="landasp"
expdays=365
// An adaptation of Dorcht's cookie functions.
function set_cookie(name, value, expires, path, domain, secure){
if (!expires){expires = new Date()}
document.cookie = name + "=" + escape(value) +
((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
((path == null) ? "" : "; path=" + path) +
((domain == null) ? "" : "; domain=" + domain) +
((secure == null) ? "" : "; secure");
}
function get_cookie(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg){
return get_cookie_val(j);
}
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function get_cookie_val(offset){
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function delete_cookie(name,path,domain){
document.cookie = name + "=" +
((path == null) ? "" : "; path=" + path) +
((domain == null) ? "" : "; domain=" + domain) +
"; expires=Thu, 01-Jan-00 00:00:01 GMT";
}
function saving_cookie(){
var expdate = new Date ();
expdate.setTime (expdate.getTime() + (expdays*24*60*60*1000*30)); //set for one month
Data="cooked"
set_cookie(cookie_name,Data,expdate)
}
function get_cookie_data(){
inf=get_cookie(cookie_name)
if(!inf){
document.getElementById("display1").style.display="block"
}
else{
document.getElementById("display2").style.display="block"
}
}
// -->
</script>
Run Code Online (Sandbox Code Playgroud)
Gre*_*gor 11
如果未给出路径,则应指定站点范围路径:
((path == null) ? "; path=/" : "; path=" + path) +
Run Code Online (Sandbox Code Playgroud)
您可以使用Firebug调试cookie,只需查看设置的cookie即可.
| 归档时间: |
|
| 查看次数: |
5535 次 |
| 最近记录: |