WebPolicyDelegate
WebPolicyDelegate неофициальный протокол работает с WebPolicyDecisionListener протокол для изменения стратегических решений, которые класс веб-представления делает при обработке URLs или объектов данных, которые они представляют. Методы в этом протоколе обычно вызываются в следующем порядке.
webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:метод вызывается один раз для каждой загрузки.webView:decidePolicyForNavigationAction:request:frame:decisionListener:метод может быть вызван нуль или больше раз после того, как запустилась загрузка. Этот метод вызывается каждый раз, когда с перенаправлением сервера встречаются, если не блокировано более ранним стратегическим решением.webView:decidePolicyForMIMEType:request:frame:decisionListener:метод вызывается после того, как тип MIME содержания известен, если этот метод не блокируется более ранним стратегическим решением.webView:unableToImplementPolicyWithError:frame:когда ошибка происходит, реализовывая стратегическое решение, метод вызывается.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import WebKit
Objective C
@import WebKit;
Доступность
Доступный в OS X v10.2 с Safari 1.0 и позже.
Доступный в OS X v10.2.7 и позже.
-
webView (_: decidePolicyForMIMEType:request:frame:decisionListener:) - webView:decidePolicyForMIMEType:request:frame:decisionListener:Решает, вывести ли на экран содержание с данным типом MIME.
Объявление
Swift
func webView(_webView: WebView!, decidePolicyForMIMETypetype: String!, requestrequest: NSURLRequest!, frameframe: WebFrame!, decisionListenerlistener: WebPolicyDecisionListener!)Objective C
- (void)webView:(WebView *)webViewdecidePolicyForMIMEType:(NSString *)typerequest:(NSURLRequest *)requestframe:(WebFrame *)framedecisionListener:(id<WebPolicyDecisionListener>)listenerПараметры
webViewСвязанное веб-представление.
typeТип MIME содержания.
requestЗапрос для загрузки содержания.
frameКадр для отображения содержания.
listenerОбъект, получающий стратегическое решение.
Обсуждение
Этот метод вызывается во время процесса загрузки содержания для
requestпослеwebView:didStartProvisionalLoadForFrame:метод вWebFrameLoadDelegateнеофициальный протокол вызываютWebViewобъект. Веб-представление реализует стратегическое решение путем отправки одного изWebPolicyDecisionListenerсообщения протокола кlistener.Если Вы не реализуете этот метод, поведение по умолчанию используется. Слушателю говорят проигнорировать тип MIME если
webViewуказывает, что это может обработать тип вcanShowMIMEType:метод.В некоторых редких случаях множественные ответы могут быть получены для единственного ресурса. Это происходит в случае multipart/x-mixed-replace, также известного как “нажатие сервера”. В этом случае этот метод будет вызван многократно.
Оператор импорта
Objective C
@import WebKit;Swift
import WebKitДоступность
Доступный в OS X v10.2 с Safari 1.0 и позже.
Доступный в OS X v10.2.7 и позже.
-
webView (_: decidePolicyForNavigationAction:request:frame:decisionListener:) - webView:decidePolicyForNavigationAction:request:frame:decisionListener:Направляет операцию навигации внутренне или к внешнему средству просмотра.
Объявление
Swift
func webView(_webView: WebView!, decidePolicyForNavigationActionactionInformation: [NSObject : AnyObject]!, requestrequest: NSURLRequest!, frameframe: WebFrame!, decisionListenerlistener: WebPolicyDecisionListener!)Objective C
- (void)webView:(WebView *)webViewdecidePolicyForNavigationAction:(NSDictionary *)actionInformationrequest:(NSURLRequest *)requestframe:(WebFrame *)framedecisionListener:(id<WebPolicyDecisionListener>)listenerПараметры
webViewWebViewобъект, к которому этот объект является делегатом политики.actionInformationОписание действия, инициировавшего запрос навигации. Возможные пары ключ/значение в этом словаре определяются в Ключах Словаря Действия.
requestЗапрос, для которого сделана навигация.
frameWebFrameобъект, в котором произошло действие.listenerWebPolicyDecisionListenerобъект, получающий стратегическое решение.Обсуждение
Когда решение навигации должно быть принято, этот метод вызывается. Веб-представление реализует стратегическое решение путем отправки одного из
WebPolicyDecisionListenerсообщения протокола кlistener. Этот метод вызывается каждый раз, когда с перенаправлением сервера встречаются, и прежде чем запустится загрузка.Если Вы не реализуете этот метод, поведение по умолчанию используется. Если запрос для ошибочной страницы или если, слушатель обрабатывает навигацию внутренне
canHandleRequest:методNSURLConnectionвозвраты классаYEStrueкогда переданоrequest. Иначе, слушатель игнорирует навигацию, и она обрабатывается внешне.Оператор импорта
Objective C
@import WebKit;Swift
import WebKitДоступность
Доступный в OS X v10.2 с Safari 1.0 и позже.
Доступный в OS X v10.2.7 и позже.
-
webView (_: decidePolicyForNewWindowAction:request:newFrameName:decisionListener:) - webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:Решает, позволить ли предназначенное событие навигации, такое как открытие ссылки в новом окне.
Объявление
Swift
func webView(_webView: WebView!, decidePolicyForNewWindowActionactionInformation: [NSObject : AnyObject]!, requestrequest: NSURLRequest!, newFrameNameframeName: String!, decisionListenerlistener: WebPolicyDecisionListener!)Objective C
- (void)webView:(WebView *)webViewdecidePolicyForNewWindowAction:(NSDictionary *)actionInformationrequest:(NSURLRequest *)requestnewFrameName:(NSString *)frameNamedecisionListener:(id<WebPolicyDecisionListener>)listenerПараметры
webViewWebViewобъект, к которому этот объект является делегатом политики.actionInformationОписание действия, инициировавшего запрос навигации. Возможные пары ключ/значение в этом словаре определяются в Создании решений содержания.
requestЗапрос, для которого выполняется новое действие окна.
frameNameИмя нового кадра, содержащего содержание, возвратилось из запроса.
listenerWebPolicyDecisionListenerобъект, получающий стратегическое решение.Обсуждение
Когда предназначенное решение навигации должно быть принято, этот метод вызывается. Предназначенная навигация обычно открывает новое окно для отображения содержания. Получатель реализует стратегическое решение путем отправки одного из
WebPolicyDecisionListenerсообщения протокола кlistener. Этот метод позволяет делегатам изменять поведение предназначенных ссылок, обычно открывающих новое окно. Делегаты могли бы сделать что-то еще, такое как загрузка или представить содержание специальным способом. Если отправляет этот методuseкlistenerтогда новое окно будет открыто, иwebView:decidePolicyForNavigationAction:request:frame:decisionListener:будет вызван с aWebNavigationTypeOtherкак значение дляWebActionNavigationTypeKeyвведите словарь действия.Поведение по умолчанию отправляет
useкlistener.Оператор импорта
Objective C
@import WebKit;Swift
import WebKitДоступность
Доступный в OS X v10.2 с Safari 1.0 и позже.
Доступный в OS X v10.2.7 и позже.
-
webView (_: unableToImplementPolicyWithError:frame:) - webView:unableToImplementPolicyWithError:frame:Дескрипторы или события отбрасываний, отклоненные влиятельным политиком.
Объявление
Параметры
webViewWebViewобъект, к которому этот объект является делегатом политики.errorПроизошедшая ошибка.
frameКадр, в котором произошла ошибка.
Обсуждение
Делегаты могли бы реализовать этот метод, чтобы вывести на экран или зарегистрировать сообщение об ошибке. Если Вы не реализуете этот метод, никакие меры не приняты.
Оператор импорта
Objective C
@import WebKit;Swift
import WebKitДоступность
Доступный в OS X v10.2 с Safari 1.0 и позже.
Доступный в OS X v10.2.7 и позже.
-
Ключи, которые могли бы появиться в словаре, передали как
actionInformationпараметр кwebView:decidePolicyForNavigationAction:request:frame:decisionListener:иwebView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:методы.Объявление
Swift
var WebActionNavigationTypeKey: NSString! var WebActionElementKey: NSString! var WebActionButtonKey: NSString! var WebActionModifierFlagsKey: NSString! var WebActionOriginalURLKey: NSString!Objective C
extern NSString *WebActionNavigationTypeKey; extern NSString *WebActionElementKey; extern NSString *WebActionButtonKey; extern NSString *WebActionModifierFlagsKey; extern NSString *WebActionOriginalURLKey;Константы
-
WebActionNavigationTypeKeyWebActionNavigationTypeKeyТип навигации действия. Может быть любое из значений, определенных в WebNavigationType ниже.
Доступный в OS X v10.2 и позже.
-
WebActionElementKeyWebActionElementKeyСловарь, содержащий информацию об элементе. Посмотрите Ссылку класса веб-представления для описания пар ключ/значение в этом словаре.
Доступный в OS X v10.2 и позже.
-
WebActionButtonKeyWebActionButtonKeyNSNumber возражает где
0указывает левую кнопку,1указывает среднюю кнопку, и2указывает правильную кнопку.Доступный в OS X v10.2 и позже.
-
WebActionModifierFlagsKeyWebActionModifierFlagsKeyЧисло без знака, указывающее флаг модификатора.
Доступный в OS X v10.2 и позже.
-
WebActionOriginalURLKeyWebActionOriginalURLKeyURL, инициировавший действие.
Доступный в OS X v10.2 и позже.
-
-
Возможные значения для
WebActionNavigationTypeKeyключ, появляющийся в словаре действия.Объявление
Swift
enum WebNavigationType : Int { case LinkClicked case FormSubmitted case BackForward case Reload case FormResubmitted case Other }Objective C
typedef enum { WebNavigationTypeLinkClicked, WebNavigationTypeFormSubmitted, WebNavigationTypeBackForward, WebNavigationTypeReload, WebNavigationTypeFormResubmitted, WebNavigationTypeOther } WebNavigationType;Константы
-
LinkClickedWebNavigationTypeLinkClickedСсылка (
href) щелкнулся.Доступный в OS X v10.2 и позже.
-
FormSubmittedWebNavigationTypeFormSubmittedФорма была представлена.
Доступный в OS X v10.2 и позже.
-
BackForwardWebNavigationTypeBackForwardПользователь щелкнул назад или прямая кнопка.
Доступный в OS X v10.2 и позже.
-
ReloadWebNavigationTypeReloadПользователь нажал кнопку перезагрузки.
Доступный в OS X v10.2 и позже.
-
FormResubmittedWebNavigationTypeFormResubmittedФорма была повторно представлена (через спину, передайте или перезагрузите действие).
Доступный в OS X v10.2 и позже.
-
OtherWebNavigationTypeOtherНавигация имеет место по некоторой другой причине.
Доступный в OS X v10.2 и позже.
Оператор импорта
Objective C
@import WebKit;Swift
import WebKitДоступность
Доступный в OS X v10.2 и позже.
-
