JavaScript Cookie生成器

时间:2013-04-17 19:06:24

标签: javascript html cookies web

这是我的目标:

<!DOCTYPE html>
<html>
<body>
<script>
function changerScript()
{
var x = document.getElementById('changethis');
var y = document.getElementById('textinputter').value;
var z = '");';

if(y == "")
{
alert('Please enter your JavaScript code, then click the Submit button.');
}
else
{
x.innerHTML = ('javascript:void(document.cookie="' + y + z);
alert('JavaScript String Successfully Generated!');
}
}
</script>

<div align="center">
<input type="text" id="textinputter" />
<button type="button" onClick="changerScript()">Submit</button>
</div>

<br /><hr />

<div align="center">
<p id="changethis"></p>
</div>

</body>
</html>

现在当你处理Cookies时,我知道有这样的工作:

javascript:void(document.cookie="Cookie=cookiedata;");

如何在上面的例子中添加多个cookie,因为

javascript:void(document.cookie="Cookie=cookiedata; Cookie2=cookiedata2;");

不起作用?

最初,我想粘贴Cookie数据(Cookie1=cookie1data; Cookie2=cookie2data; Cookie3=cookie3data;)并让JavaScript为我生成代码,然后我可以将代码粘贴到Chrome的网址栏中,并使用生成的JavaScript字符串设置Cookie

1 个答案:

答案 0 :(得分:0)

document.cookie一次只接受一个值。除了该document.cookie接受三个参数:cookie名称,值和过期日期。

您可以从location.search获取网址参数,然后您可以重复使用以下方法来设置Cookie。只需使用for循环结构来遍历所有参数并为每个参数设置cookie。

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

有关详细信息,请参阅JavaScript Cookies