问题描述:文章详情页有一个下载链接,文章: https://www.ithome.com/0/418/285.htm,链接还是个精简过的,无法直接判读类型,现在需要判断他的下载文件类型,如果是apk格式文件,禁止下载,下载了也没用,还跑流量.
解决方法:
WKWebview代理方法中,加上判断,由于 精简过得链接会有个重定向的动作,可在这个方法中捕捉到.
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;
之后就简单了,直接加个提示弹窗:
if([requestUrlStr hasSuffix:@".apk"])
{
UIAlertController * alert = [UIAlertController alertControllerWithTitle:@"提示" message:@"该下载链接即将下载一个apk文件,下载请求已终止" preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[self.navigationController popViewControllerAnimated:YES];
}]];
[self presentViewController:alert animated:YES completion:nil];
decisionHandler(WKNavigationActionPolicyCancel);
return;
}
网友评论