我怎样才能获取的HTML从本地持久存储装入的WebView(或WebFrame)?
-
19-09-2019 - |
题
所以,我有一堆的HTML被存储在一个SQLite数据库,并链接来回在他们之间。当用户点击链接,请即请求需要通过拉动相应的HTML从数据库中进行维护。这可能会导致需要载入图像,这也被存储在数据库中(这是未来的事情;没有图像,但我希望能够使用它们)。我已经通过了WebKit的文件看,但不能完全弄清楚如何做到这一点。我大部分时间看着WebFrameLoadDelegate和WebResourceLoadDelegate,但我没有看到一个将让我抓住的要求,抓住适当的内容,然后发送一个响应。
想法?我是很新,Objective-C和可可,但我想我主要是让东西的窍门。
解决方案
如何被存储在数据库中相互链接的网页?如果他们使用某种类型的客户URL方案的开始与这可能是最简单的。
我想使用的方法是执行
-webView:resource:willSendRequest:redirectResponse:fromDataSource:
在你的资源负荷委托。如果该请求是针对实际上位于你的数据库资源,返回的新的[1]的NSURLRequest它使用它指向数据库资源的自定义URL协议:
x-my-scheme:///table/row
[1]除非你已经链接你之间的资源与自定义URL方案 - 那么你可以跳过这一步
然后,实施用于x-my-scheme
定制NSURLProtocol它知道如何从数据库中检索数据。所述PictureBrowser样品给出了这是如何实现一个简单的例子。
不隶属于 StackOverflow