

UIWebViewからWkWebViewでの移行で、それまではUIWebViewではURLProtocolを用いて、Webページの広告をブロックしていましたが、WkWebViewではそれが動きません。そこで、WkWebViewの設定で下記のようにJavaScript自体をoffにして、広告ブロックすることが出来ました。しかしながら、広告をブロックするためにJavaScript自体をoffにするのは、少し乱暴な気がします。

[code]

    let preferences = WKPreferences()
    preferences.javaScriptEnabled = false    // javascriptをoffにする。
    let configuration = WKWebViewConfiguration()
    configuration.preferences = preferences
    
[/code]

そこで、調べた結果下記のユーザースクリプトを使って、JavaScriptを実行して広告をoffにすることができることがわかりました。

[code]

    let userScript1 = WKUserScript(source: "", injectionTime: .atDocumentEnd, forMainFrameOnly: true)
    
        let controller = WKUserContentController()
        controller.addUserScript(userScript1)
    
        let configuration = WKWebViewConfiguration()
        configuration.userContentController = controller
    
[/code]

WKUserScriptのsource部分にどのようなJavaScriptを書けば広告をブロックすることが出来るかを教えて下さい。また、これらの方法以外に良い広告ブロック方法を教えて頂けると助かります。


CC BY-SA 3.0
2017-04-07T08:19:16.780
33837
2017-04-07T08:19:16.780
21189
question
javascript swift ios
WkWebViewの広告ブロックについて