WebResourceLoadDelegate
Веб-делегаты загрузки ресурса представления реализуют этот неофициальный протокол, который будет уведомлен относительно прогресса загрузки отдельных ресурсов. Обратите внимание на то, что могут быть сотни ресурсов, таких как изображения и другие носители, на страницу. Так, если Вы просто хотите добраться, состояние загрузки страницы посмотрите WebFrameLoadDelegate
протокол.
Существует отдельный клиентский запрос и ответ сервера, сделанный для каждого ресурса на странице. Путем реализации webView:identifierForInitialRequest:fromDataSource:
метод, делегаты загрузки ресурса обеспечивают, объект отслеживания раньше идентифицировал отдельные ресурсы в последующих вызовах к методам делегата. Делегаты тогда уведомляются, когда загрузка ресурса запускается, когда данные инкрементно получены, когда любые ошибки загрузки происходят, и когда загрузка завершена. Делегаты могут также изменить запрос, прежде чем он будет отправлен. В некоторых случаях, в зависимости от содержания страницы и перенаправлений сервера, методы, определенные в этом протоколе, могут быть вызваны многократно (дополнительную информацию см. в описаниях отдельного метода). Все методы в этом протоколе являются дополнительными.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import WebKit
Objective C
@import WebKit;
Доступность
Доступный в OS X v10.2 и позже.
-
webView (_: identifierForInitialRequest:fromDataSource:) - webView:identifierForInitialRequest:fromDataSource:
Возвращается объект идентификатора раньше отслеживал прогресс загрузки единственного ресурса.
Объявление
Swift
func webView(_
sender
: WebView!, identifierForInitialRequestrequest
: NSURLRequest!, fromDataSourcedataSource
: WebDataSource!) -> AnyObject!Objective C
- (id)webView:(WebView *)
sender
identifierForInitialRequest:(NSURLRequest *)request
fromDataSource:(WebDataSource *)dataSource
Параметры
sender
Веб-представление, отправившее это сообщение.
request
Запрос, инициировавший эту загрузку для
dataSource
.dataSource
Источник данных для этого веб-представления.
Возвращаемое значение
Объект идентификатора, сохраняющийся
sender
и передал в качестве параметра всем другим сообщениям делегата, имеющим отношение к этому ресурсу.Обсуждение
Делегаты могли бы реализовать этот метод, чтобы начать отслеживать прогресс загрузки отдельного ресурса. Обратите внимание на то, что этот метод вызывается один раз на загрузку где как
webView:resource:willSendRequest:redirectResponse:fromDataSource:
метод может быть вызван многократно.Оператор импорта
Objective C
@import WebKit;
Swift
import WebKit
Доступность
Доступный в OS X v10.2 и позже.
-
webView (_: resource:willSendRequest:redirectResponse:fromDataSource:) - webView:resource:willSendRequest:redirectResponse:fromDataSource:
Вызванный, прежде чем заявка подана для ресурса и возвращает возможно измененный запрос.
Объявление
Swift
func webView(_
sender
: WebView!, resourceidentifier
: AnyObject!, willSendRequestrequest
: NSURLRequest!, redirectResponseredirectResponse
: NSURLResponse!, fromDataSourcedataSource
: WebDataSource!) -> NSURLRequest!Objective C
- (NSURLRequest *)webView:(WebView *)
sender
resource:(id)identifier
willSendRequest:(NSURLRequest *)request
redirectResponse:(NSURLResponse *)redirectResponse
fromDataSource:(WebDataSource *)dataSource
Параметры
sender
Веб-представление, отправившее это сообщение.
identifier
Объект идентификатора раньше отслеживал ресурс, загружаемый
dataSource
.request
Отправленный запрос.
redirectResponse
Ответ сервера перенаправления. Если
nil
, нет никакого происходящего перенаправления.dataSource
Источник данных для этого веб-представления.
Возвращаемое значение
Возможно измененный запрос.
Обсуждение
Делегаты могли бы реализовать этот метод для изменения запросов ресурса, прежде чем они будут отправлены. Обратите внимание на то, что этот метод мог бы быть вызван многократно на загрузку (в результате перенаправления сервера) где как
webView:identifierForInitialRequest:fromDataSource:
один раз вызывается метод.Оператор импорта
Objective C
@import WebKit;
Swift
import WebKit
Доступность
Доступный в OS X v10.2 и позже.
-
webView (_: resource:didFinishLoadingFromDataSource:) - webView:resource:didFinishLoadingFromDataSource:
Вызванный, когда загружаются все данные для данного ресурса.
Объявление
Swift
func webView(_
sender
: WebView!, resourceidentifier
: AnyObject!, didFinishLoadingFromDataSourcedataSource
: WebDataSource!)Objective C
- (void)webView:(WebView *)
sender
resource:(id)identifier
didFinishLoadingFromDataSource:(WebDataSource *)dataSource
Параметры
sender
Веб-представление, отправившее это сообщение.
identifier
Объект идентификатора раньше отслеживал ресурс, загружаемый
dataSource
.dataSource
Источник данных для этого веб-представления.
Обсуждение
identifier
параметр используется для отслеживания ресурса, загружаемогоdataSource
. Делегаты могли бы реализовать этот метод для обновления состояния загрузки отдельного ресурса.Оператор импорта
Objective C
@import WebKit;
Swift
import WebKit
Доступность
Доступный в OS X v10.2 и позже.
-
webView (_: resource:didReceiveResponse:fromDataSource:) - webView:resource:didReceiveResponse:fromDataSource:
Вызванный после того, как ресурс был загружен.
Объявление
Swift
func webView(_
sender
: WebView!, resourceidentifier
: AnyObject!, didReceiveResponseresponse
: NSURLResponse!, fromDataSourcedataSource
: WebDataSource!)Objective C
- (void)webView:(WebView *)
sender
resource:(id)identifier
didReceiveResponse:(NSURLResponse *)response
fromDataSource:(WebDataSource *)dataSource
Параметры
sender
Веб-представление, отправившее это сообщение.
identifier
Объект идентификатора раньше отслеживал ресурс, загружаемый
dataSource
.response
Полученный ответ.
dataSource
Источник данных для этого веб-представления.
Обсуждение
В некоторых редких случаях множественные ответы могут быть получены для единственного ресурса. Это происходит в случае multipart/x-mixed-replace, также известного как нажатие сервера. В этом случае делегаты должны предположить, что может измениться прогресс загрузки этого ресурса перезапуски и ожидаемая длина содержания.
Оператор импорта
Objective C
@import WebKit;
Swift
import WebKit
Доступность
Доступный в OS X v10.2 и позже.
-
webView (_: resource:didReceiveContentLength:fromDataSource:) - webView:resource:didReceiveContentLength:fromDataSource:
Вызванный, когда поступили некоторые данные для данного ресурса.
Объявление
Swift
func webView(_
sender
: WebView!, resourceidentifier
: AnyObject!, didReceiveContentLengthlength
: Int, fromDataSourcedataSource
: WebDataSource!)Objective C
- (void)webView:(WebView *)
sender
resource:(id)identifier
didReceiveContentLength:(NSInteger)length
fromDataSource:(WebDataSource *)dataSource
Параметры
sender
Веб-представление, отправившее это сообщение.
identifier
Объект идентификатора раньше отслеживал ресурс, загружаемый
dataSource
.length
Сумма инкрементных данных, полученных для этого ресурса — объем данных, загруженный с прошлого раза этот метод, была вызвана для этого ресурса, не общей суммы, полученной для этого ресурса.
length
тип параметра был изменен от типаunsigned int
вводитьNSUInteger
в Mac OS X v10.5.dataSource
Источник данных для этого веб-представления.
Обсуждение
Делегаты могли бы реализовать этот метод для обновления состояния загрузки отдельного ресурса.
Оператор импорта
Objective C
@import WebKit;
Swift
import WebKit
Доступность
Доступный в OS X v10.2 и позже.
-
webView (_: resource:didFailLoadingWithError:fromDataSource:) - webView:resource:didFailLoadingWithError:fromDataSource:
Вызванный, когда ресурсу не удалось загрузиться.
Объявление
Swift
func webView(_
sender
: WebView!, resourceidentifier
: AnyObject!, didFailLoadingWithErrorerror
: NSError!, fromDataSourcedataSource
: WebDataSource!)Objective C
- (void)webView:(WebView *)
sender
resource:(id)identifier
didFailLoadingWithError:(NSError *)error
fromDataSource:(WebDataSource *)dataSource
Параметры
sender
Веб-представление, отправившее это сообщение.
identifier
Объект идентификатора раньше отслеживал ресурс, загружаемый
dataSource
.error
Ошибка, произошедшая, загрузив тот ресурс.
dataSource
Источник данных для этого веб-представления.
Обсуждение
Делегаты могли бы реализовать этот метод, чтобы вывести на экран или зарегистрировать подробное сообщение об ошибке.
Оператор импорта
Objective C
@import WebKit;
Swift
import WebKit
Доступность
Доступный в OS X v10.2 и позже.
-
Вызванный, когда плагину не удается загрузиться.
Объявление
Swift
func webView(_
sender
: WebView!, plugInFailedWithErrorerror
: NSError!, dataSourcedataSource
: WebDataSource!)Objective C
- (void)webView:(WebView *)
sender
plugInFailedWithError:(NSError *)error
dataSource:(WebDataSource *)dataSource
Параметры
sender
Веб-представление, отправившее это сообщение.
error
Ошибка, произошедшая во время процесса загрузки того ресурса.
userInfo
словарьerror
может содержать дополнительную информацию об отказе. ЕслиuserInfo
словарь неnil
, это может содержать некоторых или все эти пары ключ/значение. ЗначениеNSErrorFailingURLKey
ключ является строкой URLSRC
атрибут. ЗначениеWebKitErrorPlugInNameKey
ключ является строкой, содержащей имя плагина. Значение дляWebKitErrorPlugInPageURLStringKey
ключ является строкой URLPLUGINSPAGE
атрибут. ЗначениеWebKitErrorMIMETypeKey
ключ является строкойTYPE
атрибут.dataSource
Источник данных для этого веб-представления.
Обсуждение
Если плагин не найден, не удается загрузиться или не доступен по некоторым причинам, этот метод мог бы быть вызван. Делегаты могли бы реализовать этот метод, чтобы вывести на экран или зарегистрировать подробное сообщение об ошибке. Если Вы не реализуете этот метод, никакие меры не приняты.
Оператор импорта
Objective C
@import WebKit;
Swift
import WebKit
Доступность
Доступный в OS X v10.2 и позже.
-
webView (_: resource:didReceiveAuthenticationChallenge:fromDataSource:) - webView:resource:didReceiveAuthenticationChallenge:fromDataSource:
Вызванный, когда запрос аутентификации был получен для ресурса.
Объявление
Swift
func webView(_
sender
: WebView!, resourceidentifier
: AnyObject!, didReceiveAuthenticationChallengechallenge
: NSURLAuthenticationChallenge!, fromDataSourcedataSource
: WebDataSource!)Objective C
- (void)webView:(WebView *)
sender
resource:(id)identifier
didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
fromDataSource:(WebDataSource *)dataSource
Параметры
sender
Веб-представление, отправившее это сообщение.
identifier
Объект идентификатора раньше отслеживал ресурс, загружаемый
dataSource
.challenge
Полученный запрос аутентификации.
dataSource
Источник данных для этого веб-представления.
Оператор импорта
Objective C
@import WebKit;
Swift
import WebKit
Доступность
Доступный в OS X v10.2 и позже.
-
webView (_: resource:didCancelAuthenticationChallenge:fromDataSource:) - webView:resource:didCancelAuthenticationChallenge:fromDataSource:
Вызванный, когда был отменен запрос аутентификации для ресурса.
Объявление
Swift
func webView(_
sender
: WebView!, resourceidentifier
: AnyObject!, didCancelAuthenticationChallengechallenge
: NSURLAuthenticationChallenge!, fromDataSourcedataSource
: WebDataSource!)Objective C
- (void)webView:(WebView *)
sender
resource:(id)identifier
didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
fromDataSource:(WebDataSource *)dataSource
Параметры
sender
Веб-представление, отправившее это сообщение.
identifier
Объект идентификатора раньше отслеживал ресурс, загружаемый
dataSource
.challenge
Отмененный запрос аутентификации.
dataSource
Источник данных для этого веб-представления.
Оператор импорта
Objective C
@import WebKit;
Swift
import WebKit
Доступность
Доступный в OS X v10.2 и позже.