设置cookie不能使用javascript或jquery
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设置cookie不能使用javascript或jquery相关的知识,希望对你有一定的参考价值。
我的问题是,通过点击按钮设置cookie是行不通的。我已经用3种不同的方式对它进行了测试。
html:
<!DOCTYPE html>
<html dir="ltr">
<head> [...]
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script>
<script src="/cookies/js/jquery.cookie.js"></script>
<script>
document.getElementById('btnSetCookie').onclick = function () {
$.cookie('cookie-1', 'true');
alert('You have set the cookie: ' + jQuery.cookie('cookie-1'));
});
$(function () {
$("#btnSetCookie").click(function () {
jQuery.cookie('cookie-2', 'true');
alert('You have set the cookie: ' + jQuery.cookie('cookie-2'));
});
});
$(document).ready(function () {
$("#btnSetCookie").on('click', function () {
$.cookie('cookie-3', 'true');
alert('You have set the cookie: ' + jQuery.cookie('cookie-3'));
});
});
</script>
</head>
<body> [...]
<button id="btnSetCookie">set cookie</button> [...]
</body>
</html>
知道我的错误是什么?
答案
这不适合您的原因是,如果您没有在服务器上运行,则无法设置cookie。换句话说,如果您使用file://在本地浏览器中提供文件,则它将无法正常工作。
你的第二个和第三个选项运行正常。我会清理它们并一致地使用$或jQuery,但是在服务器上运行时都可以工作。
这是你的代码工作的demo。
$(document).ready(function () {
$("#btnSetCookie").on('click', function () {
$.cookie('cookie-3', 'true');
alert('You have set the cookie: ' + $.cookie('cookie-3'));
});
});
您还可以考虑使用更新版本的jQuery,以及您正在使用的插件(不再维护您正在使用的版本)。实际上,该插件的较新版本根本不再依赖于jQuery。
另一答案
function addCookie(field, value)
{
document.cookie = (document.cookie === "") ? field + "=" + value : document.cookie + ";" + field + "=" + value;
}
以上是关于设置cookie不能使用javascript或jquery的主要内容,如果未能解决你的问题,请参考以下文章
用javascript能不能提取httponly属性的cookie