1

我的应用程序中有一个 QWebView,它将存储在应用程序中的 html 页面呈现为 Qresource。但是,此页面需要大量的外部 Javascript 库,例如 MathJax,由于它的大小,我想将其作为资源包含在内。

我的问题是,QtWebkit 似乎没有像普通浏览器那样缓存这些文件,每次我刷新小部件时,它都会重新下载 MathJax。

所以我的问题是:有没有办法在第一次下载这些库后缓存这些库,而无需将其作为资源随应用程序一起提供?

4

2 回答 2

1

您应该尝试一个简单的基于 QtNetwork 的下载是否支持缓存设置。另外,查看设置(QWebSettings)是否设置正确。

在任何情况下,您都应该能够注入一个自定义 QNetworkAccessManager 来处理自定义 JS 库的缓存。请参阅http://ariya.blogspot.com/2010/05/qnetworkaccessmanager-tracenet-speed.htmlhttp://ariya.blogspot.com/2010/06/proxy-server-with-filtering-feature.html作为示例并从那里跟进。

于 2010-12-23T03:54:46.120 回答
0

你能发布一些源代码吗?下载后,该数据将在 /tmp/ 文件夹中保留一段时间。您可能会使用临时文件夹中的数据,我猜您没有执行该策略。

于 2010-10-07T23:02:38.617 回答