Кэширование внешнего javascript для виджета QtWebkit в приложении PyQt - PullRequest
1 голос
/ 06 октября 2010

В моем приложении есть QWebView, который отображает HTML-страницу, хранящуюся в приложении, как Qresource.Эта страница, однако, требует мясистых внешних библиотек Javascript, таких как MathJax, которые я хотел бы включить в качестве ресурса из-за его размера.

Моя проблема в том, что кажется, что QtWebkit не кэширует эти файлы, как это делал бы обычный браузер, и каждый раз, когда я обновляю виджет, он загружает MathJax заново.

Поэтому мой вопрос:Есть ли способ кэшировать эти библиотеки после первой загрузки, не прибегая к доставке их вместе с приложением в качестве ресурса?

Ответы [ 2 ]

1 голос
/ 23 декабря 2010

Вы должны попробовать, если простая загрузка на основе 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 в качестве примеров и следуйте по нему.

0 голосов
/ 08 октября 2010

Не могли бы вы опубликовать исходный код? После загрузки эти данные будут оставаться в папке / tmp / в течение некоторого времени. Скорее всего, вы можете использовать данные во временной папке, я предполагаю, что вы не применяете эту политику.

...