Попробуйте использовать свой размер экрана / разрешение с window.devicePixelRatio
:
var ratio = window.devicePixelRatio || 1;
var width = window.screen.width * ratio;
var height = window.screen.height * ratio;
Затем, чтобы определить, является ли это Asus Nexus 7, вам придется использовать внешний API или расширение, например ua-parser.js
Доступно на GitHub на https://github.com/faisalman/ua-parser-js. Вот что я придумал, используя их библиотеку:
var parser = new UAParser();
var result = parser.getResult();
if (result.device.vendor == "Asus" && result.device.model == "Nexus 7" && result.device.type == "tablet")
// Code to redirect to mobile version website
Объединение двух:
<script src="ua-parser.min.js"></script>
<script>
var ratio = window.devicePixelRatio || 1;
var width = window.screen.width * ratio;
var height = window.screen.height * ratio;
var parser = new UAParser();
var result = parser.getResult();
if ((width < 700 && height < 900) || (result.device.vendor == "Asus" && result.device.model == "Nexus 7" && result.device.type == "tablet"))
// Code to redirect to mobile version website
</script>