Класс QWebEngineProfile
Класс QWebEngineProfile предоставляет профиль веб-движка, общий для нескольких страниц. Подробнее...
| Заголовок: | #include <QWebEngineProfile> |
| qmake: | QT += webenginewidgets |
| С момента: | Qt 5.5 |
| Наследуется от: | QObject |
Этот класс был представлен в Qt 5.5.
Типы
| перечисление | Тип кэша HTTP { Кэш в памяти, Кэш на диске, Без кэша } |
| перечисление | Политика постоянных файлов cookie { Без постоянных файлов cookie, Разрешить постоянные файлы cookie, Вынудительно использовать постоянные файлы cookie } |
Открытые функции
| QWebEngineProfile(const QString &storageName, QObject *parent = Q_NULLPTR) | |
| QWebEngineProfile(QObject *parent = Q_NULLPTR) | |
| QString | cachePath() const |
| void | очиститьВсеПосещённыеСсылки() |
| void | очиститьКэшHTTP() |
| void | очиститьПосещённыеСсылки(const QList<QUrl> &urls) |
| QWebEngineClientCertificateStore * | clientCertificateStore() |
| QWebEngineCookieStore * | cookieStore() |
| QString | путьЗагрузки() const |
| QString | httpAcceptLanguage() const |
| int | максимальныйРазмерКэшаHTTP() const |
| QWebEngineProfile::HttpCacheType | типКэшаHTTP() const |
| QString | httpUserAgent() const |
| void | установитьОбработчикUrlСхема(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler) |
| bool | являетсяОтключённым() const |
| bool | проверкаОрфографииВключена() const |
| bool | используетсяДляГлобальнойПроверкиСертификатов() const |
| QWebEngineProfile::PersistentCookiesPolicy | политикаПостоянныхКуки() const |
| QString | путьКПостоянномуХранилищу() const |
| void | удалитьВсеОбработчикиUrlСхема() |
| void | удалитьUrlСхема(const QByteArray &scheme) |
| void | удалитьОбработчикUrlСхема(QWebEngineUrlSchemeHandler *handler) |
| QWebEngineScriptCollection * | скрипты() const |
| void | установитьПутьКЭша(const QString &path) |
| void | установитьПутьЗагрузки(const QString &path) |
| void | установитьHttpAcceptLanguage(const QString &httpAcceptLanguage) |
| void | установитьМаксимальныйРазмерКэшаHTTP(int maxSize) |
| void | установитьТипКэшаHTTP(QWebEngineProfile::HttpCacheType httpCacheType) |
| void | установитьHttpUserAgent(const QString &userAgent) |
| void | установитьПредставлениеУведомлений(std::function<void (std::unique_ptr<QWebEngineNotification>)> notificationPresenter) |
| void | установитьПолитикуПостоянныхКуки(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy) |
| void | установитьПутьКПостоянномуХранилищу(const QString &path) |
| void | включитьПроверкуОрфографии(bool enable) |
| void | установитьЯзыкиПроверкиОрфографии(const QStringList &languages) |
| void | установитьПерехватчикЗапросовUrl(QWebEngineUrlRequestInterceptor *interceptor) |
| void | использоватьДляГлобальнойПроверкиСертификатов(bool enabled = true) |
| QWebEngineSettings * | настройки() const |
| QStringList | языкиПроверкиОрфографии() const |
| QString | имяХранилища() const |
| const QWebEngineUrlSchemeHandler * | urlSchemeHandler(const QByteArray &scheme) const |
| bool | посещённыеСсылкиСодержатUrl(const QUrl &url) const |
Сигналы
| void | запросЗагрузки(QWebEngineDownloadItem *download) |
Статические публичные члены
| QWebEngineProfile * | профильПоУмолчанию() |
Подробное описание
Профиль веб-движка содержит настройки, скрипты, политику постоянных куки и список посещённых ссылок, общих для всех страниц веб-движка, принадлежащих профилю.
Все страницы, принадлежащие профилю, используют общий экземпляр QWebEngineSettings, к которому можно получить доступ с помощью метода настройки(). Аналогично, метод скрипты() предоставляет доступ к общему экземпляру 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().
Документация типов членов
перечисление 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) |
перечисление 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
Возвращает значение поля Accept-Language HTTP-заголовка запроса.
Эта функция была введена в 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 и более поздних версиях значение user agent по умолчанию всегда будет «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)
Устанавливает значение поля Accept-Language HTTP-запроса в 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.
См. документацию по проверке орфографии о том, как происходит поиск файлов словарей.
Дополнительную информацию о том, как скомпилировать .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.14/qwebengineprofile.html