WKContentRuleList是應(yīng)用于Web內(nèi)容的編譯規(guī)則列表,適用于 iOS11.0+ 的設(shè)備。我們可以通過給webView.configuration.userContentController添加WKContentRuleList,使WebView的加載遵守相關(guān)規(guī)則。
記錄下
- 優(yōu)酷moblie視頻播放攔截json
[{"trigger" : {"url-filter" : ".*cp31.ott.cibntv.net\/.*"},"action" : {"type" : "block"}},
{"trigger" : {"url-filter" : ".*pl-ali.youku.com.*"},"action" : {"type" : "block"}}]
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:[self configMakeHttps] options:NSJSONWritingPrettyPrinted error:nil];
NSString *jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
WKUserContentController *_userContentController = [[WKUserContentController alloc] init];
WKWebViewConfiguration *_configuration = [[WKWebViewConfiguration alloc] init];
if (@available(iOS 11.0, *)) {
[[WKContentRuleListStore defaultStore] compileContentRuleListForIdentifier: @"ContentBlockingRules" encodedContentRuleList: jsonStr completionHandler:^(WKContentRuleList *contentRuleList, NSError *error) {
[_configuration.userContentController addContentRuleList:contentRuleList];
}];
} else {
// Fallback on earlier versions
}