我是 Mac 编程的新手。我想在 webview 中阻止一些 URL。我已经放置了一个 webview,并在其中打开了一个特定的 URL。当用户单击某些链接时,我想检查(通过获取 URL)URL。我想知道我可以从哪个委托函数获取当前 URL。
问问题
843 次
2 回答
2
您需要设置 policyDelegate 属性,然后实现此方法:
- (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id < WebPolicyDecisionListener >)listener {
NSInteger actionType = [[actionInformation valueForKey:WebActionNavigationTypeKey] integerValue];
if( actionType == WebNavigationTypeLinkClicked) {
NSURL *url = [actionInformation valueForKey: WebActionOriginalURLKey];
if ( !url) {
url = request.URL;
}
if ( YES) { // your custom check
[listener use];
} else {
[listener ignore];
}
} else {
[listener use];
}
}
于 2013-09-03T10:50:27.177 回答
0
您必须在 webViewDidFinishLoad: 委托方法中获取 url。您可以从 webview 获取 url,如下所示
webView.request.URL
于 2013-09-03T10:40:50.357 回答