Обновить сайт, когда развернуто и нажата кнопка восстановления jquery - PullRequest
0 голосов
/ 04 января 2019

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

Я нашел код, который работает, но не на 100%. Я был бы очень признателен, если бы кто-то здесь мог мне помочь. Я действительно плохо знаком с javascript / jQuery. Ниже приведен код jQuery, который, на мой взгляд, не самый лучший, но он вроде работает.

$(window).on('resize', function(event) {
  var windowSize = $(window).width(); // Could've done $(this).width()
  //Smartphones, Portrait iPhone, Portrait 480x320 Phones (Android)
  if (windowSize < 320) {
    //Refresh page on browser resize
    $(window).bind('resize', function(e) {
      if (window.RT) clearTimeout(window.RT);
      window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
      }, 200);
    });

    //Smartphones, Android Phones, Landscape iPhone
  } else if (windowSize < 480) {
    //Refresh page on browser resize
    $(window).bind('resize', function(e) {
      if (window.RT) clearTimeout(window.RT);
      window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
      }, 200);
    });

  }
  //Portrait Tablets, Portrait iPad, E-readers (Nook/Kindle), Landscape 800x480 Phones (Android)
  else if (windowSize < 600) {
    //Refresh page on browser resize
    $(window).bind('resize', function(e) {
      if (window.RT) clearTimeout(window.RT);
      window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
      }, 200);
    });

  } else if (windowSize < 690) {
    //Refresh page on browser resize
    $(window).bind('resize', function(e) {
      if (window.RT) clearTimeout(window.RT);
      window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
      }, 200);
    });

  }
  //Tablet, Landscape iPad, Lo-res Laptops and Desktops
  else if (windowSize < 801) {
    //Refresh page on browser resize
    $(window).bind('resize', function(e) {
      if (window.RT) clearTimeout(window.RT);
      window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
      }, 200);
    });

  } else if (windowSize < 995) {
    //Refresh page on browser resize
    $(window).bind('resize', function(e) {
      if (window.RT) clearTimeout(window.RT);
      window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
      }, 200);
    });

  }
  //Big Landscape Tablets, Laptops, and Desktops 
  else if (windowSize < 1025) {
    //Refresh page on browser resize
    $(window).bind('resize', function(e) {
      if (window.RT) clearTimeout(window.RT);
      window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
      }, 200);
    });

  }
  //Hi-res Laptops and Desktops 
  else if (windowSize < 1281) {
    //Refresh page on browser resize
    $(window).bind('resize', function(e) {
      if (window.RT) clearTimeout(window.RT);
      window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
      }, 200);
    });

  } else if (windowSize < 1440) {
    //Refresh page on browser resize
    $(window).bind('resize', function(e) {
      if (window.RT) clearTimeout(window.RT);
      window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
      }, 200);
    });

  } else if (windowSize > 1440) {
    //Refresh page on browser resize
    $(window).bind('resize', function(e) {
      $('body').prepend('<div>' + $(window).width() + '</div>');
      if (window.RT) clearTimeout(window.RT);
      window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
      }, 10);
    });

  } else {
    $('html').css('color', 'black');
  }
});

1 Ответ

0 голосов
/ 14 января 2019

Так что теперь у меня есть большая часть работы. Но я продолжаю обновляться, когда я скажу 1050px. Кто-нибудь знает, возможно ли его просто обновить, когда будет найдено точное разрешение? Я думал, что сделал это с === но нет.

JQuery:

$(window).on('resize', function(event) {
     var windowSize = $(window).width(); // Could've done $(this).width()
     if ($('.toggle-menu').width() === 1599) {
      //Refresh page on browser resize
      $(window).bind('resize', function(e) {
       if (window.RT) clearTimeout(window.RT);
       window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
       }, 1000);
      });
     } else if ($('.toggle-menu').width() === 1300) {
      //Refresh page on browser resize
      $(window).bind('resize', function(e) {
       if (window.RT) clearTimeout(window.RT);
       window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
       }, 1000);
      });
     } else if ($('.toggle-menu').width() === 820) {
      //Refresh page on browser resize
      $(window).bind('resize', function(e) {
       if (window.RT) clearTimeout(window.RT);
       window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
       }, 1000);
      });
     } else if ($('.toggle-menu').width() === 821) {
      //Refresh page on browser resize
      $(window).bind('resize', function(e) {
       if (window.RT) clearTimeout(window.RT);
       window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
       }, 1000);
      });
     } else if ($('.toggle-menu').width() === 1024) {
      //Refresh page on browser resize
      $(window).bind('resize', function(e) {
       if (window.RT) clearTimeout(window.RT);
       window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
       }, 1000);
      });
     } else if ($('.toggle-menu').width() === 900) {
      //Refresh page on browser resize
      $(window).bind('resize', function(e) {
       if (window.RT) clearTimeout(window.RT);
       window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
       }, 1000);
      });
     } else if ($('.toggle-menu').width() === 768) {
      //Refresh page on browser resize
      $(window).bind('resize', function(e) {
       if (window.RT) clearTimeout(window.RT);
       window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
       }, 1000);
      });
     } else if ($('.toggle-menu').width() === 769) {
      //Refresh page on browser resize
      $(window).bind('resize', function(e) {
       if (window.RT) clearTimeout(window.RT);
       window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
       }, 1000);
      });
     }
       else if ($('.toggle-menu').width() === 1050) {
      //Refresh page on browser resize
      $(window).bind('resize', function(e) {
       if (window.RT) clearTimeout(window.RT);
       window.RT = setTimeout(function() {
        this.location.reload(false); /* False to get page from cache */
       }, 1000);
      });
     }
    });
//Update the website when you press the maximize button
$(window).resize( function(e) {
   if (window.RT) clearTimeout(window.RT);
   window.RT = setTimeout(function() {
      this.location.reload(false); /* False to get page from cache */
   }, 10);
});
...