Веб — сайт продолжает перезагружаться на мобильном устройстве- Javascript

#javascript #html #mobile #reload

Вопрос:

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

   <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="viewport" content="width=1500px, maximum-scale=1.0" />
  <script type="text/javascript">
    if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|OperaMini/i.test(navigator.userAgent) ) {
      document.location = "mobile.html";
    }
  </script> 

Как я могу исправить эту проблему?

Ценю любую помощь, Спасибо

Ответ №1:

Прежде всего, проверьте mobile.html и убедитесь, что у вас нет кода пересылки.

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

 var url = window.location.pathname;
var filename = url.substring(url.lastIndexOf('/') 1);
var mobilePage = 'mobile.html';

if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|OperaMini/i.test(navigator.userAgent) amp;amp; filename !== mobilePage ) {
  document.location = mobilePage;
}
 

Ответ №2:

Попробуйте этот код…

 <script type="text/javascript">
if (document.location == "example.com/mobile.html") {
    //do nothing
}

else if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|OperaMini/i.test(navigator.userAgent)) {
    document.location = "mobile.html";
}
</script>