Класс QWebEngineProfile
Класс QWebEngineProfile предоставляет профиль веб-движка, используемый несколькими страницами. Подробнее...
| Заголовок: | #include <QWebEngineProfile> |
| qmake: | QT += webenginewidgets |
| С тех пор: | Qt 5.5 |
| Наследует: | QObject |
Этот класс был представлен в Qt 5.5.
Типы
| перечисление | HttpCacheType { MemoryHttpCache, DiskHttpCache, NoCache } |
| перечисление | PersistentCookiesPolicy { NoPersistentCookies, AllowPersistentCookies, ForcePersistentCookies } |
Открытые функции
| QWebEngineProfile(const QString &storageName, QObject *parent = Q_NULLPTR) | |
| QWebEngineProfile(QObject *parent = Q_NULLPTR) | |
| QString | cachePath() const |
| void | clearAllVisitedLinks() |
| void | clearHttpCache() |
| void | clearVisitedLinks(const QList<QUrl> &urls) |
| QWebEngineClientCertificateStore * | clientCertificateStore() |
| QWebEngineCookieStore * | cookieStore() |
| QString | downloadPath() const |
| QString | httpAcceptLanguage() const |
| int | httpCacheMaximumSize() const |
| QWebEngineProfile::HttpCacheType | httpCacheType() const |
| QString | httpUserAgent() const |
| void | installUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler) |
| bool | isOffTheRecord() const |
| bool | isSpellCheckEnabled() const |
| bool | isUsedForGlobalCertificateVerification() const |
| QWebEngineProfile::PersistentCookiesPolicy | persistentCookiesPolicy() const |
| QString | persistentStoragePath() const |
| void | removeAllUrlSchemeHandlers() |
| void | removeUrlScheme(const QByteArray &scheme) |
| void | removeUrlSchemeHandler(QWebEngineUrlSchemeHandler *handler) |
| QWebEngineScriptCollection * | scripts() const |
| void | setCachePath(const QString &path) |
| void | setDownloadPath(const QString &path) |
| void | setHttpAcceptLanguage(const QString &httpAcceptLanguage) |
| void | setHttpCacheMaximumSize(int maxSize) |
| void | setHttpCacheType(QWebEngineProfile::HttpCacheType httpCacheType) |
| void | setHttpUserAgent(const QString &userAgent) |
| void | setNotificationPresenter(std::function<void (std::unique_ptr<QWebEngineNotification>)> notificationPresenter) |
| void | setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy) |
| void | setPersistentStoragePath(const QString &path) |
| void | setSpellCheckEnabled(bool enable) |
| void | setSpellCheckLanguages(const QStringList &languages) |
| void | setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor) |
| void | setUseForGlobalCertificateVerification(bool enabled = true) |
| QWebEngineSettings * | settings() const |
| QStringList | spellCheckLanguages() const |
| QString | storageName() const |
| const QWebEngineUrlSchemeHandler * | urlSchemeHandler(const QByteArray &scheme) const |
| bool | visitedLinksContainsUrl(const QUrl &url) const |
Сигналы
| void | downloadRequested(QWebEngineDownloadItem *download) |
Статические публичные члены
| QWebEngineProfile * | defaultProfile() |
Подробное описание
Профиль веб-движка содержит настройки, скрипты, политику сохранения cookie-файлов и список посещенных страниц, общих для всех страниц веб-движка, принадлежащих профилю.
Все страницы, принадлежащие профилю, совместно используют экземпляр QWebEngineSettings, к которому можно получить доступ с помощью метода settings(). Аналогично, метод scripts() предоставляет доступ к общему экземпляру QWebEngineScriptCollection.
Информация о посещённых ссылках хранится вместе с постоянными куки и другими постоянными данными в хранилище, возвращаемом storageName(). Постоянные данные хранятся в подкаталоге, заданном вызовом setPersistentStoragePath(), а кеш расположен в подкаталоге, заданном вызовом setCachePath(). Тип кеша может быть установлен на в оперативной памяти или на диске, вызвав setHttpCacheType(). Если задано только имя хранилища, подкаталоги создаются и именуются автоматически. Если вы устанавливаете любые значения вручную, сделайте это до создания каких-либо страниц, относящихся к профилю.
Кеш может быть очищен от ссылок, вызвав clearVisitedLinks() или clearAllVisitedLinks(). PersistentCookiesPolicy описывает, сохраняются ли сессионные и постоянные куки в памяти или на диске и восстанавливаются из них.
Профили могут использоваться для изоляции страниц друг от друга. Типичным случаем использования является выделенный профиль "вне записи" для режима "приватного просмотра". Использование QWebEngineProfile() без определения имени хранилища создаёт новый профиль "вне записи", который не оставляет следов на локальном компьютере и не имеет постоянных данных или кеша. Метод isOffTheRecord() может использоваться для проверки, является ли профиль профилем "вне записи".
К стандартному профилю можно получить доступ с помощью defaultProfile(). Это встроенный профиль, к которому принадлежат все веб-страницы, не созданные специально с другим профилем.
Реализация интерфейса QWebEngineUrlRequestInterceptor и регистрация перехватчика в профиле с помощью setUrlRequestInterceptor() позволяют перехватывать, блокировать и изменять запросы к URL (QWebEngineUrlRequestInfo) до их попадания в сетевой стек Chromium.
Обработчик схемы URL QWebEngineUrlSchemeHandler может быть зарегистрирован для профиля с помощью installUrlSchemeHandler(), чтобы добавить поддержку пользовательских схем URL. Запросы к схеме затем передаются в QWebEngineUrlSchemeHandler::requestStarted() как объекты QWebEngineUrlRequestJob.
Проверку орфографии HTML-полей формы можно включить на уровне профиля, используя метод setSpellCheckEnabled(), а текущие языки, используемые для проверки орфографии, можно задать, используя метод setSpellCheckLanguages().
Документация типов членов
enum QWebEngineProfile::HttpCacheType
Этот перечисление описывает тип HTTP-кеша:
| Постоянная | Значение | Описание |
|---|---|---|
QWebEngineProfile::MemoryHttpCache |
0 |
Использовать кеш в оперативной памяти. Это значение по умолчанию, если off-the-record установлено. |
QWebEngineProfile::DiskHttpCache |
1 |
Использовать кеш на диске. Это значение по умолчанию, если профиль не off-the-record. Если установлено для профиля off-the-record будет установлено MemoryHttpCache. |
QWebEngineProfile::NoCache |
2 |
Отключить кеширование как в оперативной памяти, так и на диске. (Добавлена в Qt 5.7) |
enum QWebEngineProfile::PersistentCookiesPolicy
Это перечисление описывает политику постоянства куки:
| Постоянная | Значение | Описание |
|---|---|---|
QWebEngineProfile::NoPersistentCookies |
0 |
Сессионные и постоянные куки хранятся в оперативной памяти. Это единственное возможное значение, если off-the-record установлено или путь к постоянным данным недоступен. |
QWebEngineProfile::AllowPersistentCookies |
1 |
Куки, отмеченные как постоянные, сохраняются и восстанавливаются с диска, а сессионные куки сохраняются на диске только для восстановления после сбоя. Это значение по умолчанию. |
QWebEngineProfile::ForcePersistentCookies |
2 |
И сессионные, и постоянные куки сохраняются и восстанавливаются с диска. |
Документация функций-членов
QWebEngineProfile::QWebEngineProfile(const QString &storageName, QObject *parent = Q_NULLPTR)
Создаёт новый профиль с именем хранилища storageName и родителем parent.
Имя хранилища должно быть уникальным.
QWebEngineProfile, основанный на диске, должен быть уничтожен при или до завершения работы приложения, иначе кеш и постоянные данные могут не быть полностью записаны на диск.
См. также storageName().
QWebEngineProfile::QWebEngineProfile(QObject *parent = Q_NULLPTR)
Создаёт новый профиль "вне записи" с родителем parent.
Профиль "вне записи" не оставляет следов на локальном компьютере и не имеет постоянных данных или кеша. Таким образом, кеш HTTP может быть только в оперативной памяти, а куки могут быть только непостоянными. Попытки изменить эти настройки не будут иметь никакого эффекта.
См. также isOffTheRecord().
[signal] void QWebEngineProfile::downloadRequested(QWebEngineDownloadItem *download)
Этот сигнал испускается всякий раз, когда происходит запуск загрузки. Аргумент download содержит состояние загрузки. Загрузку необходимо явно принять с помощью QWebEngineDownloadItem::accept(), иначе она будет отменена по умолчанию. Элемент загрузки является дочерним элементом профиля. Если он не принят, он будет удалён сразу после испускания сигнала. Этот сигнал нельзя использовать с очередью соединений.
Эта функция была введена в Qt 5.5.
См. также QWebEngineDownloadItem и QWebEnginePage::download().
QString QWebEngineProfile::cachePath() const
Возвращает путь, используемый для кешей.
По умолчанию, это путь ниже StandardPaths::CacheLocation в подкаталоге, специфичном для QtWebengine/StorageName.
Примечание: Используйте QStandardPaths::writableLocation(QStandardPaths::CacheLocation) для получения пути QStandardPaths::CacheLocation.
См. также setCachePath(), storageName() и QStandardPaths::writableLocation().
void QWebEngineProfile::clearAllVisitedLinks()
Очищает все ссылки из базы данных посещённых ссылок.
См. также clearVisitedLinks().
void QWebEngineProfile::clearHttpCache()
Удаляет записи кеша профиля.
Эта функция была введена в Qt 5.7.
void QWebEngineProfile::clearVisitedLinks(const QList<QUrl> &urls)
Очищает ссылки из urls из базы данных посещённых ссылок.
См. также clearAllVisitedLinks().
QWebEngineClientCertificateStore *QWebEngineProfile::clientCertificateStore()
Возвращает хранилище сертификатов клиента профиля.
Эта функция была введена в Qt 5.13.
QWebEngineCookieStore *QWebEngineProfile::cookieStore()
Возвращает хранилище куки для этого профиля.
Эта функция была введена в Qt 5.6.
[static] QWebEngineProfile *QWebEngineProfile::defaultProfile()
Возвращает стандартный профиль.
Стандартный профиль использует имя хранилища "Default".
См. также storageName().
QString QWebEngineProfile::downloadPath() const
Путь к расположению, где хранятся загруженные файлы.
Примечание: По умолчанию, путь к загрузкам - QStandardPaths::DownloadLocation.
Эта функция была введена в Qt 5.13.
См. также setDownloadPath() и QStandardPaths::writableLocation().
QString QWebEngineProfile::httpAcceptLanguage() const
Возвращает значение поля заголовка HTTP Accept-Language.
Эта функция была введена в Qt 5.6.
См. также setHttpAcceptLanguage().
int QWebEngineProfile::httpCacheMaximumSize() const
Возвращает максимальный размер HTTP-кеша в байтах.
Вернёт 0 если размер автоматически контролируется QtWebEngine.
См. также setHttpCacheMaximumSize() и httpCacheType().
QWebEngineProfile::HttpCacheType QWebEngineProfile::httpCacheType() const
Возвращает тип используемого кэша HTTP.
Если профиль «без отслеживания», возвращается MemoryHttpCache.
См. также setHttpCacheType() и cachePath().
QString QWebEngineProfile::httpUserAgent() const
Возвращает строку user-agent, отправляемую с HTTP для идентификации браузера.
Примечание: В Windows 8.1 и более новых версиях браузер по умолчанию всегда будет сообщать «Windows NT 6.2» (Windows 8), если приложение не содержит манифест, в котором заявлены поддерживаемые более новые версии Windows.
См. также setHttpUserAgent().
void QWebEngineProfile::installUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler)
Регистрирует обработчик handler для пользовательской схемы URL scheme в профиле.
Необходимо предварительно зарегистрировать схему с помощью QWebEngineUrlScheme::registerScheme при запуске приложения.
Эта функция была добавлена в Qt 5.6.
bool QWebEngineProfile::isOffTheRecord() const
Возвращает true , если это профиль «без отслеживания», который не оставляет записи на компьютере.
Это заставит куки и кэш HTTP храниться в памяти, а также заставит все остальные обычно постоянные данные храниться в памяти.
bool QWebEngineProfile::isSpellCheckEnabled() const
Возвращает true , если проверка орфографии включена; в противном случае возвращает false.
Эта функция была добавлена в Qt 5.8.
См. также setSpellCheckEnabled().
bool QWebEngineProfile::isUsedForGlobalCertificateVerification() const
Возвращает true , если этот профиль в данный момент используется для глобальной проверки сертификатов.
Эта функция была добавлена в Qt 5.13.
QWebEngineProfile::PersistentCookiesPolicy QWebEngineProfile::persistentCookiesPolicy() const
Возвращает текущую политику для постоянных куки.
Если профиль «без отслеживания», возвращается NoPersistentCookies.
См. также setPersistentCookiesPolicy().
QString QWebEngineProfile::persistentStoragePath() const
Возвращает путь, используемый для хранения постоянных данных браузера и веб-контента.
Постоянные данные включают постоянные куки, локальное хранилище HTML5 и посещенные ссылки.
По умолчанию, он находится ниже QStandardPaths::DataLocation в подкаталоге, специфичном для QtWebengine/StorageName.
Примечание: Используйте QStandardPaths::writableLocation(QStandardPaths::DataLocation) для получения пути QStandardPaths::DataLocation.
См. также setPersistentStoragePath(), storageName() и QStandardPaths::writableLocation().
void QWebEngineProfile::removeAllUrlSchemeHandlers()
Удаляет все установленные обработчики пользовательских схем URL в профиле.
Эта функция была добавлена в Qt 5.6.
void QWebEngineProfile::removeUrlScheme(const QByteArray &scheme)
Удаляет пользовательскую схему URL scheme из профиля.
Эта функция была добавлена в Qt 5.6.
См. также removeUrlSchemeHandler().
void QWebEngineProfile::removeUrlSchemeHandler(QWebEngineUrlSchemeHandler *handler)
Удаляет обработчик пользовательской схемы URL handler из профиля.
Эта функция была добавлена в Qt 5.6.
См. также removeUrlScheme().
QWebEngineScriptCollection *QWebEngineProfile::scripts() const
Возвращает коллекцию скриптов, которые инжектируются на все страницы, использующие этот профиль.
См. также QWebEngineScriptCollection, QWebEngineScript, QWebEnginePage::scripts() и Инъекция скриптов.
void QWebEngineProfile::setCachePath(const QString &path)
Переопределяет путь по умолчанию, используемый для кэша на диске, устанавливая его в path.
Если установлено пустое значение, восстанавливается путь по умолчанию.
См. также cachePath().
void QWebEngineProfile::setDownloadPath(const QString &path)
Переопределяет путь по умолчанию для сохранения загрузок, устанавливая его в path.
Если установлено пустое значение, восстанавливается путь по умолчанию.
Эта функция была добавлена в Qt 5.13.
См. также downloadPath().
void QWebEngineProfile::setHttpAcceptLanguage(const QString &httpAcceptLanguage)
Устанавливает значение поля заголовка HTTP Accept-Language в httpAcceptLanguage.
Эта функция была добавлена в Qt 5.6.
См. также httpAcceptLanguage().
void QWebEngineProfile::setHttpCacheMaximumSize(int maxSize)
Устанавливает максимальный размер кэша HTTP в maxSize байт.
Устанавливая значение в 0 , размер будет автоматически контролироваться QtWebEngine.
См. также httpCacheMaximumSize() и setHttpCacheType().
void QWebEngineProfile::setHttpCacheType(QWebEngineProfile::HttpCacheType httpCacheType)
Устанавливает тип кэша HTTP в httpCacheType.
См. также httpCacheType() и setCachePath().
void QWebEngineProfile::setHttpUserAgent(const QString &userAgent)
Переопределяет строку user-agent по умолчанию, устанавливая её в userAgent.
См. также httpUserAgent().
void QWebEngineProfile::setNotificationPresenter(std::function<void (std::unique_ptr<QWebEngineNotification>)> notificationPresenter)
Устанавливает функцию notificationPresenter, ответственную за отображение отправленных уведомлений.
Эта функция была добавлена в Qt 5.13.
См. также QWebEngineNotification.
void QWebEngineProfile::setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy)
Устанавливает политику для постоянных куки в newPersistentCookiesPolicy.
См. также persistentCookiesPolicy().
void QWebEngineProfile::setPersistentStoragePath(const QString &path)
Переопределяет путь по умолчанию для хранения постоянных данных веб-движка.
Если path установлено в пустое значение, восстанавливается путь по умолчанию.
См. также persistentStoragePath().
void QWebEngineProfile::setSpellCheckEnabled(bool enable)
Включает проверку орфографии, если enable равно true, в противном случае выключает её.
Эта функция была добавлена в Qt 5.8.
См. также isSpellCheckEnabled().
void QWebEngineProfile::setSpellCheckLanguages(const QStringList &languages)
Устанавливает текущий список языков languages для проверки орфографии. Каждый язык должен соответствовать имени словаря .bdic. Например, язык en-US загрузит файл словаря en-US.bdic.
См. документацию Spellchecker по поиску файлов словарей.
Дополнительную информацию о том, как скомпилировать словари .bdic, см. в примере Spellchecker.
Эта функция была добавлена в Qt 5.8.
См. также spellCheckLanguages().
void QWebEngineProfile::setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
Регистрирует одиночный обработчик запросов interceptor для перехвата запросов к URL-адресам.
Профиль не принимает владения указателем.
Эта функция была добавлена в Qt 5.13.
См. также QWebEngineUrlRequestInfo и QWebEngineUrlRequestInterceptor.
void QWebEngineProfile::setUseForGlobalCertificateVerification(bool enabled = true)
Устанавливает, будет ли этот профиль использоваться для загрузки и кеширования при проверке сертификатов, например, для OCSP, CRL и AIA.
Только один QWebEngineProfile может выполнять эту задачу одновременно. Рекомендуется, чтобы профиль, выполняющий эту роль, имел кеш HTTP на диске, чтобы избежать ненужной повторной загрузки. Если вы установите этот параметр для второго профиля, он будет отключен в профиле, для которого он был установлен ранее.
В настоящее время влияет только на установки Linux/NSS, где он включает OCSP.
Пока у одного профиля параметр enabled установлен в true, все другие профили смогут использовать его для проверки своих сертификатов.
Эта функция была добавлена в Qt 5.13.
См. также isUsedForGlobalCertificateVerification() и httpCacheType().
QWebEngineSettings *QWebEngineProfile::settings() const
Возвращает настройки по умолчанию для всех страниц в этом профиле.
QStringList QWebEngineProfile::spellCheckLanguages() const
Возвращает список языков, используемых орфографической проверкой.
Эта функция была добавлена в Qt 5.8.
См. также setSpellCheckLanguages().
QString QWebEngineProfile::storageName() const
Возвращает имя хранилища для профиля.
Имя хранилища используется для выделения отдельных подкаталогов для постоянных данных и кеша для каждого профиля, использующего диск.
const QWebEngineUrlSchemeHandler *QWebEngineProfile::urlSchemeHandler(const QByteArray &scheme) const
Возвращает обработчик пользовательской схемы URL для схемы URL scheme.
Эта функция была добавлена в Qt 5.6.
bool QWebEngineProfile::visitedLinksContainsUrl(const QUrl &url) const
Возвращает true, если url считается посещённой ссылкой в этом профиле.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qwebengineprofile.html