选定href用户的Cookie复选框
cookie checkbox for what href user was chosen
我想创建一个带有"remember me"复选框的2按钮脚本,在用户的浏览器上放置一个cookie。
下次他进入该网站时,他将被自动重定向到他第一次选择的链接。
我到处找这样的东西
<div id="container">
<p>Please Choose Your Preference</p>
<br/>
<div class="normal_site"><a href="">Regular Site</a></div>
<div class="mobile_site"><a href="">Mobile Site</a></div>
</div>
你可以试试这个(需要jQuery)。http://jsfiddle.net/infernalmaster/c6cmk/8/
<script src="http://code.jquery.com/jquery-latest.js"></script>
<div id="conteiner">
<p>Please Choose Your Preference</p>
<br>
<div class="normal_site "><a class="sitelink" href="http://www.regular.com/">Regular Site</a></div>
<div class="mobile_site"><a class="sitelink" href="http://www.mobile.de/">Mobile Site</a></div>
<div class="remember"><input id="remember_me" type="checkbox" checked=""> Remember My Selection<div>
</div>
<script type="text/javascript">
function validate(){
$(document).on('click', '.sitelink', function(){ // if user click on link
var site_pref = $(this).attr('href');
if($('#remember_me').is(':checked')){ //if checkbox is checked then
// write link url t cookie
createCookie('site_pref', site_pref, 30); // for 30 days
} else {
eraseCookie('site_pref');
}
return true;
});
var site_pref = readCookie('site_pref'); //read cookie
if(site_pref){ //if cookie present then
self.location=(site_pref); //redirect to path form cookie
}
}
validate();
// Taken verbatim from http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
</script>
您可以在这里看到完整的示例:http://jsfiddle.net/c6cmk/
代码最重要的部分是:
$('.normal_site').on('click', function() {
createCookie('site_pref', 'normal', 1);
});
$('.mobile_site').on('click', function() {
createCookie('site_pref', 'mobile', 1);
});
var pref = readCookie('site_pref');
if (pref) {
alert(pref);
} else {
alert('please choose a website!');
}
最初,如果用户没有选择任何东西,它会提示他选择一个链接。在他单击其中一个之后,如果他重新访问页面(尝试重新加载),他将收到一个警告,显示他之前的选择。注意:cookie只存储1天,您可能想要增加它。
我正在使用jQuery和一些cookie函数取自quirksmode。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 获取用于编写JavaScript cookie的复选框
- 如何在 javascript 的信息窗口中使用 cookie 保存复选框状态
- 为复选框设置 Cookie
- 将 Cookie 设置为复选框状态
- 将复选框值存储在webix的cookie中
- 选定href用户的Cookie复选框
- 你怎么记得cookie里的复选框
- 无法使用jquery.cookie保留复选框值
- Jquery cookie脚本只记得复选框而不记得单选按钮
- 设置cookie从复选框跳过登陆页面
- 如何在jQuery中传递未选中的复选框给cookie ?
- 如何将从span到cookie的相减值保存到取消选中复选框
- 希望将cookie属性应用于jQuery复选框脚本
- 使用cookie/复选框持久化图像可见性
- 如何在cookie中具有相同id的其他复选框中保存仅选中的复选框
- jQuery-在cookie中保存复选框条件