所以,我有一堆的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样品给出了这是如何实现一个简单的例子。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top