Вопрос
У меня есть веб-страница, и недавно меня попросили создать для нее мобильную версию, теперь, когда я это сделал, меня попросили сделать автоматическое перенаправление, чтобы, если пользователь заходит на веб-страницу через КПК / iPhone / смартфон / и т.д., он / она автоматически перенаправлялся на m.website.com но я понятия не имею, как это сделать =/ Я пробовал некоторые php-скрипты и javascripts, которые нашел с помощью Google, но пока мне ничего не помогло.Не могли бы вы, ребята?
Решение
Проверьте WURFL и создайте перенаправитель 302 для пользовательских агентов, соответствующий его списку строк пользовательского агента мобильного браузера.
Или просто найдите iPhone в User-Agent и перенаправьте их на ваш сайт iPhone.Другие браузеры занимают такую небольшую долю рынка, что вряд ли стоит ориентироваться на них.На iPhone приходится 67 процентов мобильного веб-HTML-трафика.Вы могли бы сделать это в Javascript на своей веб-странице.
Другие советы
Я опубликовал последнюю версию «Apache Mobile Filter», этот проект с открытым исходным кодом имеет за первые 8 месяцев более 1100 загрузок из sourceforge, и я предполагаю, что то же самое из CPAN.
Мобильный фильтр Apache позволяет получить доступ к WURFL с любого языка программирования, а не только с Java и php, которые традиционно используются для динамических мобильных веб-сайтов.
Модуль обнаруживает мобильное устройство и передает возможности WURFL другому веб-приложению в качестве переменных среды. Он также может быть использован для изменения размера изображения на лету, чтобы адаптироваться к размеру экрана мобильного устройства. Попробуйте и дайте мне знать ваше мнение.
Для получения дополнительной информации: http://www.idelfuschini.it /it/apache-mobile-filter-v2x.html р>
Я написал JS-скрипт с именем " redirection_mobile.js " решить эту проблему. Он обнаруживает пользовательский агент и перенаправляет на мобильную версию, если вы заходите на сайт с мобильного устройства. Р>
В некоторых случаях вы хотите перенаправить с мобильного устройства на версию для настольного компьютера (например, со ссылкой «Перейти на основной сайт»), сценарий справится с этим, и после завершения сеанса вы получите доступ к опять мобильная версия. Р>
Вы можете найти исходный код на github здесь https://github.com/sebarmeli/JS-Redirection-Mobile-Site , а более подробную информацию можно найти в одной из моих статей здесь: р>
возможно, если вы укажете код, который не работает, вам может быть оказана дополнительная помощь.
если у вас есть php, в большинстве случаев обнаружение агента пользователя работает хорошо.
< ?php
$browser = strpos( возможно, если вы укажете код, который не работает, вам может быть оказана дополнительная помощь.
если у вас есть php, в большинстве случаев обнаружение агента пользователя работает хорошо.
<*>
Кроме того, это выглядит как обман:
Идентификация различных мобильных телефонов и перенаправление на разные сайты р>SERVER['HTTP_USER_AGENT'],"iPhone");
if ($browser == true) { header(”Location: http://www.example.com/“); }
}
?>
Кроме того, это выглядит как обман: Идентификация различных мобильных телефонов и перенаправление на разные сайты р>
Здесь был задан очень похожий вопрос и дан ответ на него:
Как мне определить, является ли это мобильным устройством с PHP?
Традиционно мобильные устройства обнаруживались путем сравнения заголовка HTTP User-Agent со списком хорошо известных строк mobile UA.Новый подход вместо этого пытается обнаружить наличие настольной ОС - все, что не является настольной ОС тогда должно быть мобильным.
В результате значительно меньше ложных срабатываний.
Я написал пост с примером кода на Python здесь:
Определите, является ли устройство настольным - если это не так, то перенаправьте на свой мобильный сайт!
Ваше здоровье,
Джон
Как только вы настроите свой мобильный поддомен, обязательно обратитесь к этой статье из A List Apart , в которой описано, как мобильные устройства реагируют на атрибут CSS, media = " handheld " ;. К сожалению, не все реагируют одинаково.
http://www.alistapart.com/articles/returnofthemobilestylesheet
" Мобильный фильтр Apache " является одним из модулей «реестра модулей Apache»; портал ( http://modules.apache.org/search.php?id=1787 а>) р>
Я использую http://detectmobilebrowser.com и обнаружил, что это самый быстрый и простой способ. Это работает довольно хорошо. Этот сайт автоматически генерирует серверные скрипты (php, perl, python, coldfusion, apache, jquery и т. Д.), Которые обнаруживают мобильный браузер и перенаправляют соответственно. Вы можете просто скопировать и вставить код куда-нибудь в свой индексный файл.
Этот фрагмент Javascript также может помочь:
<script>
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|BB10|IEMobile|Opera Mini/i.test(navigator.userAgent) ) //Specify the mobile devices that you would like this if statement to apply to.
{
image_y = document.getElementById('bodyID'); //Get the ID of the body and assign it to a variable.
image_y.parentNode.removeChild(image_y); //Remove the body to prevent anything loading on the screen in case there are issues with the window location redirect.
window.location = "mobile.html"; //Re-assign the window location to a new html page that is caters for the redirect.
}
</script>
Я поместил его в начало тела HTML.