如何禁用 webView swift 上的所有广告

问题描述 投票:0回答:1

如何在 webView 中为任何 URL 禁用所有广告,如弹出横幅广告。

我正在使用

WKContentRuleListStore
来屏蔽广告

我已经使用了这个 json 内容块规则 https://github.com/ShingoFukuyama/AdsBlock_WKWebView_for_iOS11/blob/master/AdsBlockWKWebView/adaway.json

分配给 listStore 的所有阻止规则,但它不会阻止所有广告。它阻止了一些在 json 规则中提到的广告想要阻止所有。

WKContentRuleListStore.default().lookUpContentRuleList(forIdentifier: ruleId1) { [weak self] (contentRuleList, error) in
}

我想在webView上完成屏蔽广告。任何帮助,建议表示赞赏。

swift webview uiwebview adblock safari-content-blocker
1个回答
0
投票

在网络视图中屏蔽所有广告可能具有挑战性,因为有多种类型的广告和不同的展示方式。您使用 WKContentRuleListStore 的方法是一个良好的开端,但还需要采取更多措施来阻止所有广告。 以下是您可以尝试的其他一些事情:

  1. 使用多个内容规则列表:您可以创建和组合各种 内容规则列表以阻止范围更广的广告。例如,你 可以使用你提到的 adaway.json 规则和其他列表
  2. 块脚本和 iframe:广告通常使用 JavaScript 显示 或 iframe,因此除了 内容规则列表。您可以通过设置 WKWebView 的 配置的首选项属性禁用 JavaScript 和/或 使用内容拦截器来拦截 iframe。
  3. 阻止cookies:一些广告可能会跟踪用户并显示有针对性的广告。 您可以尝试通过以下方式在 WKWebView 的配置中阻止 cookie 设置首选项属性以禁用 cookie。
  4. 使用第三方广告拦截器:许多第三方广告拦截器可以 集成到您的应用程序中。这些广告拦截器使用各种技术 阻止广告并且比使用内容规则列表更有效 一个人。

请记住,屏蔽广告可能是不可能的,因为广告商总是会找到新的方式来展示广告。但是,结合上述技术应该会显着减少应用中显示的广告数量。

© www.soinside.com 2019 - 2024. All rights reserved.