2012-01-04 2 views
0

Я разработал мобильную версию существующего веб-сайта. Я добавил JavaScript на домашнюю страницу настольной версии сайта для обработки перенаправления. Код работает на мобильном устройстве, за исключением того, что перед перенаправлением появляется копия домашней страницы. Может ли кто-нибудь помочь с этим или кто-нибудь знает, как выполнить JavaScript до загрузки страницы? Ниже приведен пример кода JavaScript.Бесшовный скрипт переадресации мобильных телефонов

Кроме того, домашняя страница рабочего стола сайта находится в HTML и PHP не является вариантом. Мы также не хотим выполнять постоянную переадресацию мобильных устройств. Мы хотим, чтобы пользователи имели возможность получить доступ к настольной версии, если захотят.

Код:

<!doctype html> 
<head> 

<!--start JavaScript code--> 
<script> 
    if (screen.width < 500 || 
    navigator.userAgent.match(/Android/i) || 
    navigator.userAgent.match(/webOS/i) || 
    navigator.userAgent.match(/iPhone/i) || 
    navigator.userAgent.match(/iPod/i) || 
    navigator.userAgent.match(/BlackBerry/) || 
    navigator.appName("Chrome")) { 
     window.location.replace("TexasLandBankMobile/default.html"); 

</script> 
<!--end JavaScript code--> 

<title>Test</title> 
</head> 
<body> 
<div id="container"> 
    This is not a mobile device <br/> 
</div> 
</div> 
</body> 
</html> 

Любая помощь будет принята с благодарностью.

ответ

0

Почему бы не использовать реактивный дизайн и не отправлять мобильные пользователи в любом месте, кроме вашей домашней страницы?

И если вы не делаете перенаправление на уровне сервера (переписывание apache и т. Д.), Вы не можете делать то, что вы просите.

+0

Благодарим за отзыв. У нас нет времени для реализации реактивного дизайна. Есть ли способ реализовать на уровне сервера, но разрешить мобильным пользователям перейти на настольную версию, если они этого захотят. –

+0

@RobertDavis Да, когда вы делаете свою переадресацию на свой сервер, найдите строку запроса в URL-адресе, например '? Desktop = true' и для' desktop = true' cookie. Если этот флаг установлен, установите cookie 'desktop = true' и пропустите их до основного сайта. Если cookie установлен, пропустите их до основного сайта. На вашем основном сайте есть ссылки, в которых говорится «Мобильная версия», которая удаляет файл cookie и перенаправляет их на мобильную версию – tkone

0

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

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

например.

<script> 

function isMobileDevice() { 
    return screen.width < 500 || 
     navigator.userAgent.match(/Android/i) || 
     navigator.userAgent.match(/webOS/i) || 
     navigator.userAgent.match(/iPhone/i) || 
     navigator.userAgent.match(/iPod/i) || 
     navigator.userAgent.match(/BlackBerry/) || 
     navigator.appName("Chrome")); 
} 

if (isMobileDevice()) { 
    window.location.replace("TexasLandBankMobile/default.html"); 
} else { 
    // set container div to visible 
    document.getElementById('container').style.visibility = 'visible'; 
} 

</script> 
Смежные вопросы