我是 Mac 编程新手。我想阻止 webview 中的一些 URL。我已经放置了一个 webview 并在其中打开一个特定的 URL。当用户单击某些链接时,我想检查(通过获取 URL)URL。我想知道可以从哪个委托(delegate)函数获取当前 URL。
最佳答案
您需要设置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];
}
}
关于objective-c - Cocoa:从webview获取URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18588137/