Как скрыть HTML-элементы в wkwebview в IOS? - PullRequest
0 голосов
/ 12 июня 2018

Я хочу скрыть определенные элементы HTML в wkwebview, используя swift 4, xcode 9. Я знаю, как это сделать в Android, и добавил код ниже.мне просто нужен эквивалентный код для ios в swift 4 для wkwebView.

myWebView.setWebViewClient(new WebViewClient()
        {  
            @Override  
            public void onPageFinished(WebView view, String url)  
            {  
                myWebView.loadUrl("javascript:(function() { " +  
                        "document.getElementById('divHeader') 
[0].style.display='none'; " +  
                        "})()");  
            }  
        });  

        myWebView.loadUrl(URL);

1 Ответ

0 голосов
/ 15 июня 2018

Использовать WKWebView

import WebKit

класс FirstViewController: UIViewController, WKNavigationDelegate {

@IBOutlet weak var webVw: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()
    webVw.navigationDelegate = self
    loadmyPage(htmlstr: "https://www.mywebsite.com")
}

func loadmyPage(htmlstr:String){
    let url = URL (string: htmlstr)
    let request = URLRequest(url: url!)
    webVw.load(request)
}

//MARK:- WKNavigationDelegate
func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) {
    print(error.localizedDescription)
}
func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
    print("Start to load")
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    print("finish to load")
    let elementID = "right_sidebar"
    let removeElementIdScript = "var element = document.getElementById('\(elementID)'); element.parentElement.removeChild(element);"
    webView.evaluateJavaScript(removeElementIdScript) { (response, error) in
        debugPrint("Am here")
    }
}
...