0

所以,我有一堆 HTML 存储在 SQLite 数据库中,它们之间来回链接。当用户点击链接时,需要通过从数据库中提取适当的 HTML 来处理该请求。这可能导致需要加载图像,这些图像也存储在数据库中(这是未来的事情;还没有图像,但我希望能够使用它们)。我浏览了 WebKit 文档,但不太清楚如何实现这一点。我主要研究了 WebFrameLoadDelegate 和 WebResourceLoadDelegate,但我没有看到可以让我捕获请求、获取适当的内容,然后在响应中发送它的方法。

想法?我对 Objective-C 和 Cocoa 还很陌生,但我想我主要是掌握了窍门。

4

1 回答 1

2

存储在数据库中的页面如何相互链接?如果他们开始使用某种客户 URL 方案,这可能是最简单的。

我将使用的方法是实施

-webView:resource:willSendRequest:redirectResponse:fromDataSource:

在您的资源负载委托中。如果请求是针对实际位于数据库中的资源,则返回一个的[1] NSURLRequest,它使用指向数据库资源的自定义 URL 协议:

x-my-scheme:///table/row

[1] 除非您已经使用自定义 URL 方案在资源之间进行链接,否则您可以跳过此步骤。

然后,实现一个自定义的 NSURLProtocol,x-my-scheme它知道如何从数据库中检索数据。PictureBrowser 示例给出了一个简单的例子来说明如何做到这一点。

于 2009-07-23T12:49:00.587 回答