设置cookie以检查是否已单击2个链接中的1个并传递JS

时间:2013-11-08 15:37:15

标签: javascript cookies viewport

(请注意:以下客户要求不在我手中)

我目前正在开发一个具有“移动视图”和“桌面视图”的网站。我已经使用jQuery来设置它,以根据被点击的内容编辑元视口数据

$( '.desktop-site-link' ).click(function() {
   viewport = document.querySelector('meta[name=viewport]');
   viewport.setAttribute('content', 'width=1024');
   return false;
});
$( '.mobile-site-link' ).click(function() {
    viewport = document.querySelector('meta[name=viewport]');
    viewport.setAttribute('content', 'width=device-width, initial-scale=1.0');
    return false;
});

我现在要做的是添加一个cookie来检查网站是“在桌面上”还是“在移动设备上”(如果通过链接选项选择)(在页脚中),这样如果用户进入新页面,他们就会得到他们的'选择'网站'设计'。

有什么想法吗?我一直在关注这个问题 - https://github.com/carhartl/jquery-cookie - 但不确定我需要添加哪些数据才能让新页面显示“桌面”或“移动”视图。

提前致谢。

1 个答案:

答案 0 :(得分:0)

实现起来非常简单 - 只需存储一个cookie,例如mobile并检查它是否存在于加载

var makeMobile = function() {
    viewport = document.querySelector('meta[name=viewport]');
    viewport.setAttribute('content', 'width=device-width, initial-scale=1.0');
    $.cookie("mobile", true, { path: '/' }));
    return false;
}

var makeDesktop = function() {
   viewport = document.querySelector('meta[name=viewport]');
   viewport.setAttribute('content', 'width=1024');
   $.cookie("mobile", false, { path: '/' });
   return false;
}

if($.cookie("mobile")) {
   makeMobile();
} else if($.cookie("mobile") === false) {
   makeDesktop();
}

$( '.desktop-site-link' ).click(makeDesktop);
$( '.mobile-site-link' ).click(makeMobile);