Класс QWebEngineProfile
Класс QWebEngineProfile предоставляет профиль веб-движка, используемый несколькими страницами. Подробнее...
| Заголовок: | #include <QWebEngineProfile> |
| qmake: | QT += webenginewidgets |
| С тех пор: | Qt 5.5 |
| Наследует: | QObject |
Типы публичного доступа
| перечисление | HttpCacheType { MemoryHttpCache, DiskHttpCache } |
| перечисление | PersistentCookiesPolicy { NoPersistentCookies, AllowPersistentCookies, ForcePersistentCookies } |
Функции публичного доступа
| QWebEngineProfile(QObject *parent = Q_NULLPTR) | |
| QWebEngineProfile(const QString &storageName, QObject *parent = Q_NULLPTR) | |
| QString | cachePath() const |
| void | clearAllVisitedLinks() |
| void | clearVisitedLinks(const QList<QUrl> &urls) |
| QWebEngineCookieStore * | cookieStore() |
| QString | httpAcceptLanguage() const |
| int | httpCacheMaximumSize() const |
| HttpCacheType | httpCacheType() const |
| QString | httpUserAgent() const |
| void | installUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler) |
| bool | isOffTheRecord() const |
| 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 | setHttpAcceptLanguage(const QString &httpAcceptLanguage) |
| void | setHttpCacheMaximumSize(int maxSize) |
| void | setHttpCacheType(QWebEngineProfile::HttpCacheType httpCacheType) |
| void | setHttpUserAgent(const QString &userAgent) |
| void | setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy) |
| void | setPersistentStoragePath(const QString &path) |
| void | setRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor) |
| QWebEngineSettings * | settings() const |
| QString | storageName() const |
| const QWebEngineUrlSchemeHandler * | urlSchemeHandler(const QByteArray &scheme) const |
| bool | visitedLinksContainsUrl(const QUrl &url) const |
- 31 функция унаследована от QObject
Сигналы
| void | downloadRequested(QWebEngineDownloadItem *download) |
- 2 сигнала унаследовано от QObject
Статические члены публичного доступа
| QWebEngineProfile * | defaultProfile() |
- 11 статических общедоступных членов, унаследованных от QObject
Дополнительные унаследованные члены
- 1 свойство, унаследованное от QObject
- 1 общедоступный слот, унаследованный от QObject
- 9 защищённых функций, унаследованных от QObject
Подробное описание
Класс QWebEngineProfile предоставляет профиль веб-движка, используемый несколькими страницами.
Профиль веб-движка содержит настройки, скрипты, политику сохранения постоянных файлов cookie и список посещённых ссылок, общие для всех страниц веб-движка, принадлежащих профилю.
Все страницы, принадлежащие профилю, используют общий экземпляр QWebEngineSettings, к которому можно получить доступ с помощью метода settings(). Аналогично, метод scripts() предоставляет доступ к общему экземпляру QWebEngineScriptCollection.
Информация о посещённых ссылках хранится вместе с постоянными файлами cookie и другими постоянными данными в хранилище, возвращаемом методом persistentStoragePath(). Кэш посещённых ссылок можно очистить с помощью методов clearVisitedLinks() или clearAllVisitedLinks(). PersistentCookiesPolicy описывает, сохраняются ли сеансовые и постоянные файлы cookie в памяти или на диске.
Профили могут использоваться для изоляции страниц друг от друга. Типичным примером является выделенный профиль «без сохранения истории» для режима «инкогнито». Использование QWebEngineProfile() без указания имени хранилища создаёт новый профиль «без сохранения истории», не оставляющий следов на локальном компьютере и не имеющий постоянных данных или кэша. Метод isOffTheRecord() позволяет проверить, является ли профиль профилем «без сохранения истории».
К стандартному профилю можно получить доступ с помощью defaultProfile(). Это встроенный профиль, к которому принадлежат все веб-страницы, не созданные специально с другим профилем.
Реализация интерфейса QWebEngineUrlRequestInterceptor и регистрация перехватчика в профиле с помощью метода setRequestInterceptor() позволяют перехватывать, блокировать и изменять запросы на URL (QWebEngineUrlRequestInfo) перед их отправкой в сетевой стек Chromium.
Обработчик схемы URL QWebEngineUrlSchemeHandler можно зарегистрировать для профиля с помощью installUrlSchemeHandler(), чтобы добавить поддержку пользовательских схем URL. Запросы к схеме затем передаются в QWebEngineUrlSchemeHandler::requestStarted() в виде объектов QWebEngineUrlRequestJob.
Документация по типам членов
перечисление QWebEngineProfile::HttpCacheType
Это перечисление описывает тип кэша HTTP:
| Константа | Значение | Описание |
|---|---|---|
QWebEngineProfile::MemoryHttpCache |
0 |
Использовать кэш в оперативной памяти. Это единственное возможное значение, если off-the-record установлено или путь к кэшу недоступен. |
QWebEngineProfile::DiskHttpCache |
1 |
Использовать кэш на диске. Это значение по умолчанию. |
перечисление QWebEngineProfile::PersistentCookiesPolicy
Это перечисление описывает политику сохранения файлов cookie:
| Константа | Значение | Описание |
|---|---|---|
QWebEngineProfile::NoPersistentCookies |
0 |
Как сеансовые, так и постоянные файлы cookie хранятся в оперативной памяти. Это единственное возможное значение, если off-the-record установлено или путь к данным сохранения недоступен. |
QWebEngineProfile::AllowPersistentCookies |
1 |
Файлы cookie, помеченные как постоянные, сохраняются на диске и восстанавливаются из него, а сеансовые файлы cookie сохраняются на диске только для восстановления после сбоя. Это значение по умолчанию. |
QWebEngineProfile::ForcePersistentCookies |
2 |
И сеансовые, и постоянные файлы cookie сохраняются и восстанавливаются с диска. |
Документация по функциям членов
QWebEngineProfile::QWebEngineProfile(QObject *parent = Q_NULLPTR)
Создает новый профиль «вне записи» с родителем parent.
Профиль «вне записи» не оставляет записей на локальном компьютере и не имеет постоянных данных или кэша. Таким образом, кэш HTTP может быть только в оперативной памяти, а файлы cookie могут быть только непостоянными. Попытки изменить эти настройки не повлияют на них.
См. также isOffTheRecord().
QWebEngineProfile::QWebEngineProfile(const QString &storageName, QObject *parent = Q_NULLPTR)
Создает новый профиль с именем хранилища storageName и родителем parent.
Имя хранилища должно быть уникальным.
Базирующийся на диске QWebEngineProfile следует уничтожить при выходе приложения, в противном случае кэш и постоянные данные могут не быть полностью сохранены на диске.
См. также storageName().
QString QWebEngineProfile::cachePath() const
Возвращает путь, используемый для кэширования.
По умолчанию, он находится под QStandardPaths::writableLocation() в директории, специфичной для имени хранилища.
См. также setCachePath(), storageName() и QStandardPaths::writableLocation().
void QWebEngineProfile::clearAllVisitedLinks()
Очищает все ссылки из базы данных посещённых ссылок.
См. также clearVisitedLinks().
void QWebEngineProfile::clearVisitedLinks(const QList<QUrl> &urls)
Очищает ссылки в urls из базы данных посещённых ссылок.
См. также clearAllVisitedLinks().
QWebEngineCookieStore *QWebEngineProfile::cookieStore()
Возвращает хранилище файлов cookie для этого профиля.
Функция была добавлена в Qt 5.6.
[static] QWebEngineProfile *QWebEngineProfile::defaultProfile()
Возвращает профиль по умолчанию.
Профиль по умолчанию использует имя хранилища «Default».
См. также storageName().
[signal] void QWebEngineProfile::downloadRequested(QWebEngineDownloadItem *download)
Этот сигнал генерируется всякий раз, когда инициируется загрузка. Аргумент download содержит состояние загрузки. Загрузку нужно явно принять с помощью QWebEngineDownloadItem::accept(), иначе она будет отменена по умолчанию. Элемент загрузки является дочерним элементом профиля. Если он не принят, он будет удален сразу после генерации сигнала. Этот сигнал не может использоваться с подключением в очереди.
Функция была добавлена в Qt 5.5.
См. также QWebEngineDownloadItem.
QString QWebEngineProfile::httpAcceptLanguage() const
Возвращает значение поля Accept-Language заголовка HTTP запроса.
Функция была добавлена в Qt 5.6.
См. также setHttpAcceptLanguage().
int QWebEngineProfile::httpCacheMaximumSize() const
Возвращает максимальный размер кэша HTTP в байтах.
Возвратит 0 если размер автоматически контролируется QtWebEngine.
См. также setHttpCacheMaximumSize() и httpCacheType().
HttpCacheType QWebEngineProfile::httpCacheType() const
Возвращает тип используемого кэша HTTP.
Если профиль «вне записи», возвращается MemoryHttpCache.
См. также setHttpCacheType() и cachePath().
QString QWebEngineProfile::httpUserAgent() const
Возвращает строку user-agent, отправляемую с HTTP для идентификации браузера.
См. также setHttpUserAgent().
void QWebEngineProfile::installUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler)
Регистрирует обработчик handler для пользовательской схемы URL scheme в профиле.
Функция была добавлена в Qt 5.6.
bool QWebEngineProfile::isOffTheRecord() const
Возвращает true, если это профиль «вне записи», который не оставляет записей на компьютере.
Это принудительно заставит файлы cookie и кэш HTTP находиться в оперативной памяти, но также заставит все остальные обычно постоянные данные храниться в оперативной памяти.
PersistentCookiesPolicy QWebEngineProfile::persistentCookiesPolicy() const
Возвращает текущую политику для постоянных файлов cookie.
Если профиль «вне записи», возвращается NoPersistentCookies.
См. также setPersistentCookiesPolicy().
QString QWebEngineProfile::persistentStoragePath() const
Возвращает путь, используемый для хранения постоянных данных браузера и веб-контента.
Постоянные данные включают в себя постоянные файлы cookie, локальное хранилище HTML5 и посещённые ссылки.
По умолчанию, он находится под QStandardPaths::writableLocation() в директории, специфичной для имени хранилища.
См. также 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::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)
Переопределяет строку пользовательского агента, устанавливая ее в userAgent.
См. также httpUserAgent().
void QWebEngineProfile::setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy)
Устанавливает политику для постоянных куки в newPersistentCookiesPolicy.
См. также persistentCookiesPolicy().
void QWebEngineProfile::setPersistentStoragePath(const QString &path)
Переопределяет стандартный путь для хранения данных веб-движка.
Если path установлена в пустую строку, восстанавливается стандартный путь.
См. также persistentStoragePath().
void QWebEngineProfile::setRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
Регистрирует одиночный объект-перехватчик запросов interceptor для перехвата запросов URL.
Профиль не принимает владения указателем.
Эта функция была добавлена в Qt 5.6.
См. также QWebEngineUrlRequestInfo.
QWebEngineSettings *QWebEngineProfile::settings() const
Возвращает стандартные настройки для всех страниц в этом профиле.
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/archives/qt-5.6/qwebengineprofile.html