appwebview 中的 contentblocker 问题
Problem with contentblocker in appwebview
嗨,我尝试使用 ContentBlocker 来阻止广告,但它不起作用,我尝试使用 androidShouldInterceptRequest 并且它工作正常但在 ios 上不可用
为了测试,我只是尝试阻止所有 url 包含“voiranime”,我使用正则表达式“.*voiranime.*”但不工作
contentBlockers:[
ContentBlocker(
trigger: ContentBlockerTrigger(urlFilter: ".*voiranime.*",),
action: ContentBlockerAction(
type: ContentBlockerActionType.BLOCK
)
),
],
Android
InAppWebView(
initialOptions: InAppWebViewGroupOptions(
android: AndroidInAppWebViewOptions(
useShouldInterceptRequest: true,
),
),
androidShouldInterceptRequest: (controller, request) async {
var url = request.url.toString();
var i = 0;
while(i<adblock.length){
if(url.contains(adblock.elementAt(i))){
return WebResourceResponse();
}
i++;
}
});
我的变量 adblock 就是这样的过滤器列表
List<String> ads(){
List<String> list = [];
list.add("imasdk.googleapis.com");
list.add("rtmark.net");
list.add("offerimage.com");
list.add("xadsmart.com");
list.add("cloudfront.net");
list.add("in-page-push.com");
return list;}
如果你愿意,你可以添加其他人
Ios
您必须将 ContentBlocker 与正则表达式一起使用
嗨,我尝试使用 ContentBlocker 来阻止广告,但它不起作用,我尝试使用 androidShouldInterceptRequest 并且它工作正常但在 ios 上不可用 为了测试,我只是尝试阻止所有 url 包含“voiranime”,我使用正则表达式“.*voiranime.*”但不工作
contentBlockers:[
ContentBlocker(
trigger: ContentBlockerTrigger(urlFilter: ".*voiranime.*",),
action: ContentBlockerAction(
type: ContentBlockerActionType.BLOCK
)
),
],
Android
InAppWebView(
initialOptions: InAppWebViewGroupOptions(
android: AndroidInAppWebViewOptions(
useShouldInterceptRequest: true,
),
),
androidShouldInterceptRequest: (controller, request) async {
var url = request.url.toString();
var i = 0;
while(i<adblock.length){
if(url.contains(adblock.elementAt(i))){
return WebResourceResponse();
}
i++;
}
});
我的变量 adblock 就是这样的过滤器列表
List<String> ads(){
List<String> list = [];
list.add("imasdk.googleapis.com");
list.add("rtmark.net");
list.add("offerimage.com");
list.add("xadsmart.com");
list.add("cloudfront.net");
list.add("in-page-push.com");
return list;}
如果你愿意,你可以添加其他人
Ios
您必须将 ContentBlocker 与正则表达式一起使用