在PyQt应用程序中为QtWebkit小部件缓存外部javascript

时间:2010-10-06 11:41:21

标签: javascript python pyqt qtwebkit

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

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

所以我的问题是:有没有办法在第一次下载这些库后缓存这些库,而无需借助应用程序作为资源来运送它们?

2 个答案:

答案 0 :(得分: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作为示例,然后从那里开始跟进。

答案 1 :(得分:0)

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