有这种疯狂的方法吗?我正在尝试为自助服务终端构建一个浏览器应用程序,该应用程序限制了运行其他应用程序的需求,并且只是停留在一个网站中
我研究并发现decidePolicyForNavigationAction
应该适用于我想要的内容,但是如何开始过滤URI方案(mailto://
,irc://
等)?谢谢!
答案 0 :(得分:2)
您正在应用程序中实现WebView以浏览网页,对吧? 如果是,请查看WebPolicyDelegate Protocol参考 特别是以下代表可能会感兴趣:
- (void)webView:(WebView *)webView
decidePolicyForNewWindowAction:(NSDictionary *)actionInformation
request:(NSURLRequest *)request
newFrameName:(NSString *)frameName
decisionListener:(id < WebPolicyDecisionListener >)listener
使用上述代理,您可以验证任何请求,包括mailto
个请求
快速示例如何检测URL方案并决定是否阻止:
NSLog(@"Request URL scheme = %@",[[request URL] scheme]);
if([[[request URL] scheme]isEqualToString:@"mailto"])
{
[listener ignore]; // Block Request
}
else
{
[listener use]; // Allow Request
}