установить cookie, чтобы проверить, была ли нажата 1 из 2 ссылок, и передать JS

(обратите внимание: клиентский запрос на приведенное ниже не в моих руках)

В настоящее время я работаю над сайтом, который будет иметь «мобильное представление» и «десктопное представление». Я настроил это с помощью 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 - но не уверен, какие данные мне нужно добавить, чтобы новая страница отображала «настольный» или «мобильный» вид.

Заранее спасибо.


person Stuart Robson    schedule 08.11.2013    source источник


Ответы (1)


Это довольно просто реализовать - просто сохраните файл 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);
person megawac    schedule 08.11.2013