Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript WKWebView在加载任何URL时阻止某些脚本(阻止任何网站中的跟踪或广告)_Javascript_Ios_Swift_Blocking_Wkwebview - Fatal编程技术网

Javascript WKWebView在加载任何URL时阻止某些脚本(阻止任何网站中的跟踪或广告)

Javascript WKWebView在加载任何URL时阻止某些脚本(阻止任何网站中的跟踪或广告),javascript,ios,swift,blocking,wkwebview,Javascript,Ios,Swift,Blocking,Wkwebview,我正在做一个iOS(swift)安全浏览器项目。我需要实现一个功能,我们可以向用户显示当前WKWebView中运行了多少跟踪脚本,以及停止这些跟踪脚本的能力。(就像Ghostery隐私浏览器一样) 我能够跟踪并列出嵌入在web页面中的脚本(我在扫描已加载到委托中的内容后执行此操作,调用了didfinishload)。但我不知道该怎么阻止他们 为了获取网页中的所有脚本,我正在阅读innerHTML中的所有脚本标记 请帮助我停止在WKWebView中执行某些脚本 提前感谢我不认为读取所有脚本标记是检

我正在做一个iOS(swift)安全浏览器项目。我需要实现一个功能,我们可以向用户显示当前
WKWebView
中运行了多少跟踪脚本,以及停止这些跟踪脚本的能力。(就像Ghostery隐私浏览器一样)

我能够跟踪并列出嵌入在web页面中的脚本(我在扫描已加载到委托中的内容后执行此操作,调用了didfinishload)。但我不知道该怎么阻止他们

为了获取网页中的所有脚本,我正在阅读
innerHTML
中的所有脚本标记

请帮助我停止在
WKWebView
中执行某些脚本


提前感谢

我不认为读取所有脚本标记是检测网页加载的脚本的方法,因为它很容易出错

对于您的任务,通过使用旧的UIWebView并实现自定义NSURLProtocol来执行阻塞/过滤,您会得到更好的服务。不可能截获WKWebView发出的所有请求(因为它是在进程外加载的,您得到的回调与Apple在WKNavigationDelegate中实现的回调一样多)。相反,您可以通过简单的自定义NSURLProtocol实现控制UIWebView加载的所有内容