[英]How to remove DIV tag from webpage in WKWebView in swift 4?
I want to remove the header and footer div tags from my webpage when loading it into the WKWebVIew in swift 4. I have tried the following code.我想在 swift 4 中将它加载到 WKWebVIew 时从我的网页中删除页眉和页脚 div 标签。我尝试了以下代码。 but it was not working.. give me solution for this!
但它不起作用..给我解决方案!
class ViewController: UIViewController {
@IBOutlet var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
var url: URL?
url = URL(string: "https://www.walkmate.co.in")
let request = URLRequest(url: url!)
webView.load(request)
let script="function(){ var footer=document.getElementsByClassName('footer-env')[0]; footer.parentNode.removeChild(footer); })())"
webView.evaluateJavaScript(script) { (result, error) in
if error != nil {
print(result)
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
I think you should wait for the site is loaded.我认为你应该等待网站加载。
You need the WKNavigationDelegate
and evaluate your script in您需要
WKNavigationDelegate
并在
func webView(webView: WKWebView!, didFinishNavigation navigation: WKNavigation!) {
print("Finished navigating to url \(webView.url)");
}
Actually your site is not loaded while you want to evaluate your script.实际上,当您要评估脚本时,您的网站并未加载。
** update ** ** 更新 **
You need something like this你需要这样的东西
// add the protocol
class ViewController: UIViewController, WKNavigationDelegate {
@IBOutlet var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
var url: URL?
url = URL(string: "https://www.walkmate.co.in")
let request = URLRequest(url: url!)
webView.navigationDelegate = self // set the delegate
webView.load(request)
}
func webView(webView: WKWebView!, didFinishNavigation navigation: WKNavigation!) {
print("Finished navigating to url \(webView.url)");
let script="function(){ var footer=document.getElementsByClassName('footer-env')[0]; footer.parentNode.removeChild(footer); })())"
webView.evaluateJavaScript(script) { (result, error) in
if error != nil {
print(result)
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.