Использование наблюдателя пересечений для создания функции «Подтягивание к обновлению» в мобильном PWA

#javascript #mobile #progressive-web-apps #pull-to-refresh #intersection-observer

#язык JavaScript #Мобильный #прогрессивные-веб-приложения #подтягивание для обновления #пересечение-наблюдатель

Вопрос:

Я пытаюсь реализовать функцию «подтягивание к обновлению» в своем мобильном PWA.

Так как я хочу избежать использования touchStart и touchEnd определить, спустил ли пользователь страницу, поэтому я подумал об использовании intersectionObserver .

Мой подход таков: «если оболочка страницы просматривается на 50%, запустите функцию обновления».

 ( pullToRefresh = () =gt; {    const wrapper = document.querySelector('.wrapper');   const options = {  root: null,  rootMargin: "0px 0px 0px 0px",  threshold: 0,  };   wrapperObserver = new IntersectionObserver (function (entries, observer) {  entries.forEach(function(entry) {  if (entry.intersectionRatio gt; 0.5) {  console.log('wrapper in view')  } else if (entry.intersectionRatio lt;= 0.5) {  console.log("wrapper out of view")  location.reload(true)  }  });  }, options);   wrapperObserver(wrapper);  })();  

Это const wrapper видно с самого начала и всегда только 100vh высоко.

Однако я не могу заставить его выстрелить. (Я использую симулятор iOS, чтобы протестировать его.) Спасибо за любые советы!

Комментарии:

1. wrapperObserver.наблюдать(обертка); ?