Кэширование внешнего JavaScript для виджета QTWebkit в приложении PYQT
-
28-09-2019 - |
Вопрос
У меня есть QWebView в моем приложении, который отображает страницу HTML, хранящуюся в приложении в качестве QResource. Эта страница, однако, требует мясистых внешних библиотек JavaScript, таких как MathJax, которую я хотел бы включить в качестве ресурса из-за его размера.
Моя проблема заключается в том, что кажется, что QtWebkit не кэширует эти файлы в виде обычного браузера, и каждый раз, когда я обновляю виджет, он загружает Afreшь MathJax.
Поэтому мой вопрос: есть ли способ кэшировать эти библиотеки после первого раза, когда они загружаются, не прибегая к отправке его с приложением в качестве ресурса?
Решение
Вы должны попробовать, если простой 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. в качестве примеров и следовать за этим оттуда.
Другие советы
Не могли бы вы опубликовать какой-то исходный код? После загрузки, что данные будут оставаться в / TMP / папке в течение некоторого времени. Возможно, вы, вероятно, используете данные в папке Temp, я думаю, вы не соблюдаете эту политику.