我正在创建一个 Swift iOS 项目,它有多个显示外部网站的 WKWebViews。其中一些网站我没有管理权限,所以我使用一些代码来隐藏一个div
类。这很好用,但是在页面加载后该元素被隐藏了,因此该div
元素会在几秒钟内显示给用户。见下文:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
print("finished")
let elementID = "some_element"
let removeElementIdScript = "var element = document.getElementById('\(elementID)'); element.parentElement.removeChild(element);"
webView.evaluateJavaScript(removeElementIdScript) { (response, error) in
debugPrint("removed")
}
}
有没有办法在视图加载之前实现此代码?或者,如果这不可能,我该如何放置蒙版或隐藏视图,直到它加载。我想div
不惜一切代价避免显示该元素。
我已经尝试将代码放入didStartProvisionalNavigation
函数中,但我假设因为它在视图加载之前运行,所以视图中不存在元素以将其删除。