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 *)senderidentifierForInitialRequest:(NSURLRequest *)requestfromDataSource:(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 *)senderresource:(id)identifierwillSendRequest:(NSURLRequest *)requestredirectResponse:(NSURLResponse *)redirectResponsefromDataSource:(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 *)senderresource:(id)identifierdidFinishLoadingFromDataSource:(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 *)senderresource:(id)identifierdidReceiveResponse:(NSURLResponse *)responsefromDataSource:(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 *)senderresource:(id)identifierdidReceiveContentLength:(NSInteger)lengthfromDataSource:(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 *)senderresource:(id)identifierdidFailLoadingWithError:(NSError *)errorfromDataSource:(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 *)senderplugInFailedWithError:(NSError *)errordataSource:(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 *)senderresource:(id)identifierdidReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challengefromDataSource:(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 *)senderresource:(id)identifierdidCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challengefromDataSource:(WebDataSource *)dataSourceПараметры
senderВеб-представление, отправившее это сообщение.
identifierОбъект идентификатора раньше отслеживал ресурс, загружаемый
dataSource.challengeОтмененный запрос аутентификации.
dataSourceИсточник данных для этого веб-представления.
Оператор импорта
Objective C
@import WebKit;Swift
import WebKitДоступность
Доступный в OS X v10.2 и позже.
