Soy un novato con respecto a Javascript o la inyección de código en iOS WKWebView .
Visite esta página con el agente de usuario igual a safari 13 iOS y desplácese hacia abajo.
En un momento, esta barra aparece en la parte inferior.
en este momento, si haces scroll hacia arriba la barra desaparece.
Soy un novato en Javascript. Encontréesta página que muestra un efecto similar.
Mirando la fuente, supongo que la identificación de ese div es agentFavBar pero al inspeccionar la página veo que la clase de este div cambia de class="styles___MobileFixedBar-sc-x9qtiw-0 fMaMax" a class="styles___MobileFixedBar-sc-x9qtiw-0 ivYpwt" eso es display:none .
Tengo esta aplicación de iOS que tengo que arreglar donde la barra nunca desaparece cuando te desplazas hacia arriba.
Mirando la aplicación, veo que quien creó esto, que ya no funciona para la empresa, inyecta código para mostrar y ocultar la barra inferior.
Este es el único código que pude encontrar que aparece como el responsable de esto, pero como dije, la barra se muestra cuando me desplazo hacia abajo pero no desaparece cuando me desplazo hacia arriba.
if (document.querySelector('div#FA-HIDE_BOTTOM_NAV')) { window.webkit.messageHandlers.hideTabBar.postMessage('hideTabBar'); } var banner_height = document.querySelector('div.styles___MobileFixedBar-x9qtiw-0.jcioIC').offsetHeight; document.querySelector('main').style.paddingBottom = banner_height.toString() + 'px';"y
if (!document.querySelector('div#FA-HIDE_BOTTOM_NAV')){ window.webkit.messageHandlers.showTabBar.postMessage('showTabBar'); }y también descubrí este:
window.onscroll = function(e) { if (Math.abs(this.oldScroll - this.scrollY) > 88) { document.querySelector('div.styles___MobileFixedBar-x9qtiw-0.jcioIC').style.display = this.oldScroll > this.scrollY ? 'none' : ''; this.oldScroll = this.scrollY }; }; window.oldScroll = 0; Una cosa que no entiendo es por qué uno necesita inyectar javascript si lo que hace básicamente la aplicación es mostrar la versión móvil del sitio (servido por el servidor basado en el agente de usuario) dentro de un WKWebView .
¿Ves este código consistente con ocultar la barra inferior? ¿Cómo puedo escribir eso para que funcione?
NOTA: sí, sé que wkwebviews no necesita ningún código inyectado para funcionar, pero no soy yo quien creó esta aplicación y el tipo que lo hizo, de alguna manera metí el wkwebview original de una manera que ahora, si elimino todo el código inyectado, la página ni siquiera se carga.