外部 Web サイトを表示する複数の WKWebViews を持つ Swift iOS プロジェクトを作成しています。これらの Web サイトの一部には管理アクセス権がないため、コードを使用して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
関数に入れようとしましたが、ビューがロードされる前に実行されるため、削除する要素がビューに存在しないと思います。