2015-04-16 1 views
0

В настоящее время у меня есть библиотека PHP, которая просматривает информацию заголовка и решает, какой браузер/устройство пользователь использует для доступа к моему сайту. Я подключил свой маршрутизатор к этой библиотеке, так что, когда пользователь находится на моем сайте, на основе того, что говорит библиотека PHP, я перенаправляю его на мобильную или настольную версию. Все это происходит в чистом PHP.Перенаправление на отзывчивый сайт в PHP на основе разрешения экрана, обнаруженного в Javascript

Теперь усложнение заключается в том, что многие планшетные устройства имеют такие широкие экраны, которые показывают им отзывчивый сайт для их размерности экрана, на самом деле не имеют большого смысла. Я хотел бы, чтобы мой маршрутизатор мог получить информацию о размере экрана/видовом экране пользователя, а затем сделать выбор вместо проверки только isTablet().

Я знаю, что для этого мне нужно использовать Javascript. Я хотел проверить, есть ли у кого-нибудь опыт в этом. Чтобы он оставался чистым, я хотел бы, чтобы мой маршрутизатор был ответственным за принятие решений, и не имеют как Javascript, так и PHP, которые принимают независимые решения о том, где перенаправить. Есть ли библиотека/стратегия для обработки этого прецедента, который у кого-либо есть опыт?

+0

Дайте мне знать, если есть но путаницу в моем ответе. – Victory

ответ

1

Вы можете использовать ширину окон, чтобы проверить перенаправление в своем <head>, что перенаправление должно установить переменную $_SESSION, чтобы не показывать мобильный сайт в php.

Следующий метод требует, чтобы jQuery библиотеки быть загружены в <head></head> и размещения:

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script> 

JS:

if ($(window).width() > 1000) { 
    document.location = '/no-mobile-redirect.php?set=true'; 
} 

не-подвижной redirect.php бы

<?php 
session_start(); 
$_SESSION['noMobileRedirect'] = isset($_GET['set']); 
header("Location: /home");