Создание стратегических решений
Можно принять решения относительно того, какой веб-контент вывести на экран в веб-представлении путем реализации делегата политики, соответствующего протоколу WebPolicyDelegate.
Протокол очень гибок, позволяя Вам сделать широкий диапазон из стратегических решений. Например, можно реализовать делегата политики, чтобы зарегистрировать URL-запросы, проверить на образцы, которые Вы не могли бы разрешить, блокировать определенные веб-сайты, типы блока файлов, и даже блокировать IP-адреса. Протокол предоставляет рычаги Вам для прерывания запросов — Вы реализуете фактические стратегические решения.
Например, выполните эти шаги для изменения Миниприложения браузера, расположенного в /Developer/Examples/WebKit
проигнорировать выбрало URLs:
Открытый
MyDocument.nib
использование Интерфейсного Разработчика и набора WebViewpolicyDelegate
выход кFile’s Owner
(экземпляр MyDocument).Реализация
webView:decidePolicyForNavigationAction:request:frame:decisionListener:
отфильтровать URL-запросы. В этом примере, URL-запросах с именами хоста, заканчивающимися вcompany.com
проигнорированы.- (void)webView:(WebView *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation
request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id)listener {
NSString *host = [[request URL] host];
if ([host hasSuffix:@"company.com"])
[listener ignore];
else
[listener use];
}