Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы WebKit ссылка на протокол WebPolicyDelegate

Опции
Развертывание Target:

На этой странице
Язык:

WebPolicyDelegate

WebPolicyDelegate неофициальный протокол работает с WebPolicyDecisionListener протокол для изменения стратегических решений, которые класс веб-представления делает при обработке URLs или объектов данных, которые они представляют. Методы в этом протоколе обычно вызываются в следующем порядке.

  1. webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener: метод вызывается один раз для каждой загрузки.

  2. webView:decidePolicyForNavigationAction:request:frame:decisionListener: метод может быть вызван нуль или больше раз после того, как запустилась загрузка. Этот метод вызывается каждый раз, когда с перенаправлением сервера встречаются, если не блокировано более ранним стратегическим решением.

  3. webView:decidePolicyForMIMEType:request:frame:decisionListener: метод вызывается после того, как тип MIME содержания известен, если этот метод не блокируется более ранним стратегическим решением.

  4. webView:unableToImplementPolicyWithError:frame: когда ошибка происходит, реализовывая стратегическое решение, метод вызывается.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Swift

import WebKit

Objective C

@import WebKit;

Доступность


Доступный в OS X v10.2 с Safari 1.0 и позже.
Доступный в OS X v10.2.7 и позже.
  • Решает, вывести ли на экран содержание с данным типом MIME.

    Объявление

    Swift

    func webView(_ webView: WebView!, decidePolicyForMIMEType type: String!, request request: NSURLRequest!, frame frame: WebFrame!, decisionListener listener: WebPolicyDecisionListener!)

    Objective C

    - (void)webView:(WebView *)webView decidePolicyForMIMEType:(NSString *)type request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(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 и позже.

  • Направляет операцию навигации внутренне или к внешнему средству просмотра.

    Объявление

    Swift

    func webView(_ webView: WebView!, decidePolicyForNavigationAction actionInformation: [NSObject : AnyObject]!, request request: NSURLRequest!, frame frame: WebFrame!, decisionListener listener: WebPolicyDecisionListener!)

    Objective C

    - (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener

    Параметры

    webView

    WebView объект, к которому этот объект является делегатом политики.

    actionInformation

    Описание действия, инициировавшего запрос навигации. Возможные пары ключ/значение в этом словаре определяются в Ключах Словаря Действия.

    request

    Запрос, для которого сделана навигация.

    frame

    WebFrame объект, в котором произошло действие.

    listener

    WebPolicyDecisionListener объект, получающий стратегическое решение.

    Обсуждение

    Когда решение навигации должно быть принято, этот метод вызывается. Веб-представление реализует стратегическое решение путем отправки одного из 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 и позже.

  • Решает, позволить ли предназначенное событие навигации, такое как открытие ссылки в новом окне.

    Объявление

    Swift

    func webView(_ webView: WebView!, decidePolicyForNewWindowAction actionInformation: [NSObject : AnyObject]!, request request: NSURLRequest!, newFrameName frameName: String!, decisionListener listener: WebPolicyDecisionListener!)

    Objective C

    - (void)webView:(WebView *)webView decidePolicyForNewWindowAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request newFrameName:(NSString *)frameName decisionListener:(id<WebPolicyDecisionListener>)listener

    Параметры

    webView

    WebView объект, к которому этот объект является делегатом политики.

    actionInformation

    Описание действия, инициировавшего запрос навигации. Возможные пары ключ/значение в этом словаре определяются в Создании решений содержания.

    request

    Запрос, для которого выполняется новое действие окна.

    frameName

    Имя нового кадра, содержащего содержание, возвратилось из запроса.

    listener

    WebPolicyDecisionListener объект, получающий стратегическое решение.

    Обсуждение

    Когда предназначенное решение навигации должно быть принято, этот метод вызывается. Предназначенная навигация обычно открывает новое окно для отображения содержания. Получатель реализует стратегическое решение путем отправки одного из WebPolicyDecisionListener сообщения протокола к listener. Этот метод позволяет делегатам изменять поведение предназначенных ссылок, обычно открывающих новое окно. Делегаты могли бы сделать что-то еще, такое как загрузка или представить содержание специальным способом. Если отправляет этот метод use к listener тогда новое окно будет открыто, и webView:decidePolicyForNavigationAction:request:frame:decisionListener: будет вызван с a WebNavigationTypeOther как значение для WebActionNavigationTypeKey введите словарь действия.

    Поведение по умолчанию отправляет use к listener.

    Оператор импорта

    Objective C

    @import WebKit;

    Swift

    import WebKit

    Доступность

    Доступный в OS X v10.2 с Safari 1.0 и позже.

    Доступный в OS X v10.2.7 и позже.

  • Дескрипторы или события отбрасываний, отклоненные влиятельным политиком.

    Объявление

    Swift

    func webView(_ webView: WebView!, unableToImplementPolicyWithError error: NSError!, frame frame: WebFrame!)

    Objective C

    - (void)webView:(WebView *)webView unableToImplementPolicyWithError:(NSError *)error frame:(WebFrame *)frame

    Параметры

    webView

    WebView объект, к которому этот объект является делегатом политики.

    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;

    Константы

    • WebActionNavigationTypeKey

      WebActionNavigationTypeKey

      Тип навигации действия. Может быть любое из значений, определенных в WebNavigationType ниже.

      Доступный в OS X v10.2 и позже.

    • WebActionElementKey

      WebActionElementKey

      Словарь, содержащий информацию об элементе. Посмотрите Ссылку класса веб-представления для описания пар ключ/значение в этом словаре.

      Доступный в OS X v10.2 и позже.

    • WebActionButtonKey

      WebActionButtonKey

      NSNumber возражает где 0 указывает левую кнопку, 1 указывает среднюю кнопку, и 2 указывает правильную кнопку.

      Доступный в OS X v10.2 и позже.

    • WebActionModifierFlagsKey

      WebActionModifierFlagsKey

      Число без знака, указывающее флаг модификатора.

      Доступный в OS X v10.2 и позже.

    • WebActionOriginalURLKey

      WebActionOriginalURLKey

      URL, инициировавший действие.

      Доступный в 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;

    Константы

    • LinkClicked

      WebNavigationTypeLinkClicked

      Ссылка ( href) щелкнулся.

      Доступный в OS X v10.2 и позже.

    • FormSubmitted

      WebNavigationTypeFormSubmitted

      Форма была представлена.

      Доступный в OS X v10.2 и позже.

    • BackForward

      WebNavigationTypeBackForward

      Пользователь щелкнул назад или прямая кнопка.

      Доступный в OS X v10.2 и позже.

    • Reload

      WebNavigationTypeReload

      Пользователь нажал кнопку перезагрузки.

      Доступный в OS X v10.2 и позже.

    • FormResubmitted

      WebNavigationTypeFormResubmitted

      Форма была повторно представлена (через спину, передайте или перезагрузите действие).

      Доступный в OS X v10.2 и позже.

    • Other

      WebNavigationTypeOther

      Навигация имеет место по некоторой другой причине.

      Доступный в OS X v10.2 и позже.

    Оператор импорта

    Objective C

    @import WebKit;

    Swift

    import WebKit

    Доступность

    Доступный в OS X v10.2 и позже.