0

外部 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関数に入れようとしましたが、ビューがロードされる前に実行されるため、削除する要素がビューに存在しないと思います。

4

1 に答える 1