我的应用程序中有一个QWebView,它将一个html页面存储在应用程序中作为Qresource。但是,这个页面需要内容丰富的外部Javascript库,例如MathJax,由于它的大小,我希望将其作为资源包含在内。
我的问题是,似乎QtWebkit不像常规浏览器那样缓存这些文件,每次刷新小部件时它都会重新下载MathJax。
所以我的问题是:有没有办法在第一次下载这些库后缓存这些库,而无需借助应用程序作为资源来运送它们?
答案 0 :(得分:1)
如果基于QtNetwork的简单下载是否符合缓存设置,您应该尝试。另外,查看是否正确设置了设置(QWebSettings)。
在所有情况下,您应该能够注入一个自定义QNetworkAccessManager来处理自定义JS库的缓存。请参阅http://ariya.blogspot.com/2010/05/qnetworkaccessmanager-tracenet-speed.html和http://ariya.blogspot.com/2010/06/proxy-server-with-filtering-feature.html作为示例,然后从那里开始跟进。
答案 1 :(得分:0)
你能发布一些源代码吗?下载后,该数据将保留在/ tmp /文件夹中一段时间。您可能会使用临时文件夹中的数据,我猜你没有执行该政策。