【发布时间】:2012-11-26 05:43:12
【问题描述】:
我有一个包含 3 个 html 文件的网站:
语言选择:media/index.html
中文页面:media/en/index.html
中国网页:media/cn/index.html
网站文件:media/site/
当访问者在我的网站上选择一种语言时,我通过此脚本创建一个 cookie:
<script type="text/javascript">
$(function () {
var url = '';
var en_page = 'en';
var cn_page = 'cn';
if ($.cookie('default_page') != null) {
if (window.location.href != url + '/' + $.cookie('default_page')) {
window.location.href = url + '/' + $.cookie('default_page');
}
}
$('#enlink').click(function () {
$.cookie('default_page', en_page, {expires: 999, path: '/', domain: 'mywebsite.com'});
});
$('#cnlink').click(function () {
$.cookie('default_page', cn_page, {expires: 999, path: '/', domain: 'mywebsite.com'});
});
});
</script>
....
....
<a href="cn/index.html" id="cnlink">CN</a>
<br>
<a href="en/index.html" id="enlink">EN</a>
这成功创建了一个名为“default_page”的cookie,其值为“cn”或“en”,然后在后续访问时将用户重定向到mywebsite.com/cn或mywebsite.com/en。这一切都很好。
但是,我无法删除此 cookie。每当用户单击链接以更改media/en/index.html 或media/cn/index.html 中的语言时,我都需要删除此cookie(即我的实际网站,而不是语言选择页面):
<script type="text/javascript">
function deletecookie(){
alert('delete');
$.cookie('default_page', null, {path: '/', domain: 'mywebsite.com'});
}
</script>
....
....
<a href="../index.html" onclick="deletecookie()">
Change language
</a>
但这不起作用,当我点击“更改语言”时,它仍然将我重定向回同一页面(因为 cookie 仍然存在),所以我无法访问语言页面(media/index.html) .当我收到警告框时,正在调用该函数,但我检查了我的浏览器,即 Firefox,cookie mywebsite/default_page 仍然存在。
感谢您的帮助。
【问题讨论】:
-
你试过插件本身提供的removeCookie功能吗? $.removeCookie('default_page', { path: '/' });
标签: javascript jquery select cookies