javascript — ошибка мобильного обнаружения

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

Тот, что ниже, даже не эхом $_SERVER['HTTP_USER_AGENT'];

     <?php
echo $_SERVER['HTTP_USER_AGENT'];
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

if ($iphone || $android || $palmpre || $ipod || $berry == true)
{
header('Location: http://mobile.site.com/');
}
?>

Это еще один сценарий, который я пробовал, но ничего не повторило.

<script type="text/javascript" >
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
<?php
echo "I should redirect";
?>
}
</script>

Я также пытался получить размер экрана, но это ничего не показывает.

<script type="text/javascript">
document.write(screen.width);
if (screen.width <= 800) {
window.location = "http://m.domain.com";
}

</script>

Я также попробовал очень популярный скрипт php ниже, но он также ничего не говорит о $ обнаружить.

    <?php
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
echo $detect;
if($detect->isMobile()) {
header('Location: http://mobile.example1.com/');
exit;
}
?>

0

Решение

Пожалуйста, проверьте это решение:

if( strstr($_SERVER['HTTP_USER_AGENT'],'Android') ||
strstr($_SERVER['HTTP_USER_AGENT'],'webOS') ||
strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') ||
strstr($_SERVER['HTTP_USER_AGENT'],'iPod')
){}
1

Другие решения

Других решений пока нет …