gpt4 book ai didi

objective-c - 如何从本地持久存储中检索要加载到 WebView(或 WebFrame)中的 HTML?

转载 作者:行者123 更新时间:2023-12-03 17:45:39 25 4
gpt4 key购买 nike

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

想法?我对 Objective-C 和 Cocoa 还很陌生,但我想我基本上已经掌握了窍门。

最佳答案

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

我会使用的方法是实现

-webView:resource:willSendRequest:redirectResponse:fromDataSource:

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

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

[1] 除非您已经使用自定义 URL 方案链接资源 - 那么您可以跳过此步骤。

然后,为 x-my-scheme 实现一个自定义 NSURLProtocol,它知道如何从数据库检索数据。 PictureBrowser 示例给出了如何完成此操作的简单示例。

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com