Скрипт мобильного перенаправления - PullRequest
0 голосов
/ 04 января 2012

Я разработал мобильную версию существующего веб-сайта.Я добавил немного 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>

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

Ответы [ 2 ]

0 голосов
/ 05 января 2012

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

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

, например

<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>
0 голосов
/ 04 января 2012

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

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

...