在 Swift 中使用 JS 隐藏 WKWebView 集合元素
Posted
技术标签:
【中文标题】在 Swift 中使用 JS 隐藏 WKWebView 集合元素【英文标题】:Using JS in Swift to hide WKWebView collection elements 【发布时间】:2019-01-28 20:51:38 【问题描述】:我有一个已加载到 WKWebView 中的网站。我想隐藏这个网站的标题,以便我可以使用我在情节提要中构建的本机标题。 header 元素只能由类引用(即“header-layout-bar”)。
我一直使用此代码作为参考以隐藏标题。
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!)
print("finishload")
let element = "header-layout-bar"
let removeElementScript = "var element = document.getElementsByClassName('\(element)'); element.parentElement.removeChild(element); console.log(element);"
webView.evaluatejavascript(removeElementScript) (response, error) in
debugPrint("Am here")
当我在控制台中打印出元素以查看它是否已被选中时,它会打印一个空的 html 集合数组。以这种方式删除它不会隐藏它。
我在这个主题上尝试了几种变体都无济于事(例如,使用 getElementsByTagName 选择它)。
没有任何作用。有人可以提供解决方案吗?
【问题讨论】:
【参考方案1】:你可以尝试用 css 隐藏它:
let removeElementScript = "document.querySelector('.header-layout-bar').style.display='none';"
webView.evaluateJavaScript(removeElementScript) (response, error) in
debugPrint("Am here")
【讨论】:
以上是关于在 Swift 中使用 JS 隐藏 WKWebView 集合元素的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中使用 hidesBackButton 隐藏导航栏中的后退按钮
如何在 Swift 中隐藏第一个 ViewController 的导航栏?
Swift:在 UIWebview Scroll 上隐藏 UIStackView