我正在进行iOS (swift) Secure Browser
项目。我需要实现一个功能,我们可以向用户显示当前WKWebView
中运行的跟踪脚本数量以及停止跟踪脚本的能力。 (就像Ghostery Privacy Browser
)
我能够跟踪和列出网页中嵌入的脚本(我在扫描已经加载到委托中的内容后执行此操作didfinishload被调用)。但我不知道如何阻止它们。
要获取网页中的所有脚本,请阅读innerHTML
中的所有脚本标记。
请帮我停止执行WKWebView
中的某些脚本。
提前谢谢
答案 0 :(得分:0)
我不认为读取所有脚本标记是检测网页加载的脚本的方法,因为它非常容易出错。
对于您的任务,您可以通过使用旧的UIWebView并实现自定义NSURLProtocol来执行阻止/过滤来获得更好的服务。无法拦截WKWebView发出的所有请求(因为它是在进程外加载的,并且您获得了与Apple在WKNavigationDelegate中实现的回调一样多的回调)。相反,您可以使用简单的自定义NSURLProtocol实现来控制UIWebView加载的所有内容。