根据在Javascript中检测到的屏幕分辨率,重定向到PHP中的响应式站点

时间:2015-04-16 16:37:31

标签: javascript php jquery screen-resolution

目前我有一个PHP库,它查看标题信息并决定用户用来访问我的网站的浏览器/设备类型。我将我的路由器连接到这个库,以便当用户在我的站点时,根据PHP库的说法,我将其重定向到移动或桌面版本。所有这些都发生在纯PHP中。

现在复杂的是,许多平板电脑设备都有如此宽的屏幕,显示它们的屏幕尺寸的响应式网站并没有多大意义。我希望我的路由器可以获取有关用户的屏幕尺寸/视口的信息,然后做出选择,而不仅仅是检查isTablet()

我知道我需要使用Javascript。我想检查是否有人有这样的经历。为了保持清洁,我希望我的路由器成为决策者,而不是让Javascript和PHP在重定向的位置做出独立的决定。是否有任何图书馆/策略来处理任何人以前有过这种用例的用例?

1 个答案:

答案 0 :(得分:1)

您可以使用窗口宽度检查<head>中的重定向,该重定向应设置$_SESSION变量,以便不在php中显示移动网站。

以下方法要求在<head></head>中加载jQuery库并放置:

<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';
}

no-mobile-redirect.php 会有

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