javascript - 如何使用注入代码使底栏消失?
问题描述
我是关于 Javascript 或在 iOS 上注入代码的新手WKWebView
。
使用等于 safari 13 iOS 的用户代理访问此页面并向下滚动。
在某一时刻,该栏出现在底部。
此时,如果向上滚动,该栏就会消失。
我是 Javascript 的新手。我发现这个页面显示了类似的效果。
查看源代码,我猜它的 iddiv
是agentFavBar
但检查页面我看到这个 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,如果我现在删除页面甚至没有加载所有注入的代码。
解决方案
推荐阅读
- vba - 在两个字符之间存储字符串的值
- java - Spring Boot 使用 @EnableAsync 时不响应任何请求
- c# - ASP.NET 以编程方式启动服务访问被拒绝
- html - 我希望在活动时给我的菜单加下划线,而不是仅仅悬停。那可能吗?(不是常规下划线代码)
- angular - Angular:无法解析 ...“@angular/core/core.d.ts”的原始符号
- html - 如何在同一个html5页面中播放所有音频?
- javascript - 画布重叠图像反转顺序
- javascript - javascript变量被多次调用函数覆盖
- android-studio - 将“基于标记的”AR 与“无标记”的 AR 结合起来作为后备
- swift - 如果满足条件,如何快速返回(跳过其余部分)函数