Ссылки Поиск Написать В избранное NO

Кнопка перехода с адаптивной версии на полную 2

Недавно довел до ума, если сравнивать с простой первой версией. Очень хотелось поделиться :) многим нужно. Единственное, справиться без PHP не получилось.


1) ?mobile - закрыть от индексации в robots! Без него на мобильных - адский кеш, с которым не справиться.

2) Лучше не убирать адаптивные стили, а убирать только <meta name=viewport content="width=device-width, initial-scale=1">

Но можно и то и то.

3) Кнопка показывается на адаптивной версии. Или на полной, если есть куки. Связано с работой meta name=viewport. Иначе не перейти обратно будет.

4) Можно добавить ширину просмотра для полной версии. Например: <meta name="viewport" content="width=1300, initial-scale=1">


В шапку сайта (оставил место под эксперименты):

<? if (isset($_COOKIE['mob']) and $_COOKIE['mob']=="no") { ?>

<? } else { ?>

<meta name=viewport content="width=device-width, initial-scale=1">

<? } ?>


Кнопка для футера, перед </body>. Стили можно вынести в отдельный файл. А вот скрипт - [B]нет[/B]. только если добавлять срабатывание только после загрузки.

<style>

#mob {margin: 0 auto !important; font-size: 1rem; width: 100%; height: 51px; text-decoration: none; line-height: 51px; background-color: #3292be; border-color: #007095; color: #fff; transition: background-color 300ms ease-out; text-align: center;}

#mob:hover, #mob:focus {background-color: #007095;}

</style>


<? if (isset($_COOKIE['mob']) and $_COOKIE['mob']=="no") { ?>

<a style="display: none; width: width: 100%;" href="?mobile" id="mob" onclick="SetCookie('mob=yes', 0);">Перейти на мобильную версию</a>

<? }else{ ?>

<a style="display: none; width: 100%;" href="?mobile=no" id="mob" onclick="SetCookie('mob=no', 30);">Перейти на полную версию</a>

<? } ?>


<script>

//Ставим Куки

function SetCookie(id, days){

var ws=new Date();

ws.setDate((days-0+ws.getDate()));

document.cookie=id+"; path=/; expires="+ws.toGMTString();

}

if (document.cookie.indexOf("mob=no") != -1 || document.getElementsByTagName("body")[0].offsetWidth<=775) {

document.getElementById("mob").style.display='block';

}

</script>


Первая версия, на чистом JavaScript.