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 *)
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 и позже.
-
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 *)
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
возвраты классаYES
true
когда передано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 *)
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:
будет вызван с 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:
Дескрипторы или события отбрасываний, отклоненные влиятельным политиком.
Объявление
Параметры
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 и позже.
-