首页 > 解决方案 > 如何使用注入代码使底栏消失?

问题描述

我是关于 Javascript 或在 iOS 上注入代码的新手WKWebView

使用等于 safari 13 iOS 的用户代理访问此页面并向下滚动。

在某一时刻,该栏出现在底部。

底栏

此时,如果向上滚动,该栏就会消失。

我是 Javascript 的新手。我发现这个页面显示了类似的效果。

查看源代码,我猜它的 iddivagentFavBar但检查页面我看到这个 div 的类从class="styles___MobileFixedBar-sc-x9qtiw-0 fMaMax"变为class="styles___MobileFixedBar-sc-x9qtiw-0 ivYpwt"that is display:none

我有这个 iOS 应用程序,我必须修复向上滚动时栏永远不会消失的位置。

查看应用程序,我看到创建此应用程序的人,不再为公司工作,注入代码以显示和隐藏底部栏。

这是我能找到的唯一出现此问题的代码,但是就像我说的那样,当我向下滚动时,该栏会显示,但向上滚动时不会消失。

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';"
                

if (!document.querySelector('div#FA-HIDE_BOTTOM_NAV')){ 
  window.webkit.messageHandlers.showTabBar.postMessage('showTabBar'); 
}

并且还发现了这个:

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;

我不明白的一件事是,如果应用程序的基本功能是在WKWebView.

您是否看到此代码与隐藏底栏一致?我怎样才能写它来使它工作。

注意:是的,我知道 wkwebviews 不需要任何注入的代码来工作,但我不是创建这个应用程序的人,也不是这样做的人,以某种方式弄乱了原来的 wkwebview,如果我现在删除页面甚至没有加载所有注入的代码。

标签: javascriptioswkwebview

解决方案


推荐阅读