Используйте локальные ресурсы в WKWebview

Как заставить WKWebview использовать локальные .js, .css и / или локальные файлы изображений вместо удаленных файлов, чтобы ускорить загрузку веб-страницы. Кроме того, я заметил, что методы NSURLProtocol (когда они реализованы через класс регистров) не вызываются, когда реализованы методы WKNavigationDelegate, есть идеи, почему?


person Krishnan Sriram    schedule 10.06.2015    source источник


Ответы (2)


В iOS 9 API появился новый метод загрузки локального ресурса

/ *! @abstract Переход к URL-адресу запрошенного файла в файловой системе. @param URL URL файла, к которому нужно перейти. @param readAccessURL URL-адрес, к которому разрешен доступ для чтения. @discussion Если readAccessURL ссылается на один файл, WebKit может загрузить только этот файл. Если readAccessURL ссылается на каталог, файлы внутри этого файла могут быть загружены WebKit. @result Новая навигация для указанного URL файла. * /

@available(iOS 9.0, *)
func loadFileURL(URL: NSURL, allowingReadAccessToURL readAccessURL: NSURL) -> WKNavigation?
person Clement Prem    schedule 10.06.2015
comment
Спасибо, что изучили это. Мне понадобится решение для работы в ios7 и 8 по требованию :( - person Krishnan Sriram; 11.06.2015
comment
Речь идет об использовании кешированных ресурсов css / jss для ускорения навигации по удаленным веб-сайтам. Вместо этого этот ответ касается перехода на локальную веб-страницу на устройстве. - person Gautham Badhrinathan; 14.12.2015

После изучения большого количества документации я понял / узнал, что я не смогу отслеживать URL-адреса, если буду использовать WKWebviews. На данный момент мне нужно прибегнуть к UIWebView.

person Krishnan Sriram    schedule 11.06.2015
comment
Как вы думаете, почему вы не можете отслеживать URL-адреса с помощью WKWebView? Взгляните на WKNavigationDelegate - person Akshay Rangnekar; 22.01.2016