因此,我有一堆HTML存储在SQLite数据库中,它们之间来回链接。当用户单击以跟随链接时,需要通过从数据库中拉出适当的HTML来满足该请求。这可能会导致需要加载也存储在数据库中的图像(这是以后的事情;尚无图像,但是我希望能够使用它们)。我已经阅读了WebKit文档,但还不太清楚如何实现此目的。我主要看过WebFrameLoadDelegate和WebResourceLoadDelegate,但没有看到一个能让我捕获请求,获取适当内容然后在响应中发送的内容。

有想法吗?我对Objective-C和Cocoa还是很陌生,但我想我基本上掌握了很多东西。

最佳答案

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

我将使用的方法是实施

-webView:resource:willSendRequest:redirectResponse:fromDataSource:

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

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

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

然后,为x-my-scheme实现自定义NSURLProtocol,它知道如何从数据库中检索数据。 PictureBrowser示例提供了有关此操作的简单示例。

关于objective-c - 如何从本地持久存储中检索要加载到WebView(或WebFrame)中的HTML?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1169320/

10-17 02:22