Посмотреть ссылку на мобильный сайт в полном сайте - PullRequest
1 голос
/ 22 июня 2011

Несмотря на то, что у меня есть успешный метод получения пользователей с нашего мобильного сайта на наш полный сайт, мне нужна помощь, чтобы вернуть их с полного сайта на мобильный сайт.

Я пытаюсь использовать комбинацию CSS и HTML-кода, написанного на JavaScript (ниже), который использует обнаружение на стороне сервера. В основном обнаружение определяет, находится ли пользователь на смартфоне, и, если да, пишет баннер HTML. Это должно выглядеть так , но, к сожалению, это не работает. PHP не вариант.

У меня такой вопрос, как я могу заставить баннер "View Mobile" появляться только на смартфонах (например, iPhone и Android)?

Вот моя страница и код:

<meta name="viewport" content="width=device-width, user-scalable=yes" /> 
<link rel="stylesheet" type="text/css" href="css/mobile.css" media="only screen and (max-width: 640px)" />

...

<body> 
<script type="text/javascript">
<!--
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
device_class = readCookie('COOKIE_DEVICE_CLASS');
if (device_class == 'smart') {
document.write('<div id="view-mobile"><a href="http://m.stanford.edu/">View Stanford Mobile</a></div>');
}
// -->
</script>

Ответы [ 3 ]

2 голосов
/ 23 июня 2011

Ваш файл cookie не устанавливается. Я посетил как stanford.edu, так и m.stanford.edu, и я не получаю файл cookie COOKIE_DEVICE_CLASS. Если файл cookie создан и содержит «умный» код, он будет работать.

1 голос
/ 23 июня 2011

Это может сработать:

var userAgent= navigator.userAgent.toLowerCase();

if (!!/iphone/.test(userAgent) || !!/android/.test(userAgent)) {
    // write banner
}
0 голосов
/ 15 ноября 2011

Создайте htaccess на своем мобильном сайте, затем добавьте этот код.

RewriteCond %{HTTP_COOKIE} !FULLSITE=yes
### Your current conditions...
RewriteRule (.*) http://your URL_mobile_add? [R,L]
...