Класс QWebEngineProfile
Класс QWebEngineProfile предоставляет профиль веб-движка, общий для нескольких страниц. Подробнее...
| Заголовок: | #include <QWebEngineProfile> |
| qmake: | QT += webenginewidgets |
| С версии: | Qt 5.5 |
| Наследует: | QObject |
Открытые типы
| enum | HttpCacheType { MemoryHttpCache, DiskHttpCache, NoCache } |
| enum | PersistentCookiesPolicy { NoPersistentCookies, AllowPersistentCookies, ForcePersistentCookies } |
Открытые функции
| QWebEngineProfile(QObject *parent = Q_NULLPTR) | |
| QWebEngineProfile(const QString &storageName, QObject *parent = Q_NULLPTR) | |
| QString | cachePath() const |
| void | clearAllVisitedLinks() |
| void | clearHttpCache() |
| 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 |
| bool | isSpellCheckEnabled() 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) |
| void | setSpellCheckEnabled(bool enable) |
| void | setSpellCheckLanguages(const QStringList &languages) |
| QWebEngineSettings * | settings() const |
| QStringList | spellCheckLanguages() const |
| QString | storageName() const |
| const QWebEngineUrlSchemeHandler * | urlSchemeHandler(const QByteArray &scheme) const |
| bool | visitedLinksContainsUrl(const QUrl &url) const |
- 32 открытые функции, унаследованные от 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.
Обработчик QWebEngineUrlSchemeHandler может быть зарегистрирован для профиля с помощью installUrlSchemeHandler() для добавления поддержки пользовательских схем URL. Запросы для схемы затем отправляются методу QWebEngineUrlSchemeHandler::requestStarted() в виде объектов QWebEngineUrlRequestJob.
Проверку правописания для полей HTML-форм можно включить на уровне профиля, используя метод setSpellCheckEnabled(), а текущие языки, используемые для проверки правописания, можно установить с помощью метода setSpellCheckLanguages().
Документация по типам членов
enum QWebEngineProfile::HttpCacheType
Это перечисление описывает тип кэша HTTP:
| Константа | Значение | Описание |
|---|---|---|
QWebEngineProfile::MemoryHttpCache |
0 |
Использовать кэш в памяти. Это единственное возможное значение, если off-the-record установлено или путь к кэшу недоступен. |
QWebEngineProfile::DiskHttpCache |
1 |
Использовать кэш на диске. Это значение по умолчанию. |
QWebEngineProfile::NoCache |
2 |
Отключить кэширование как в памяти, так и на диске. (Добавлена в Qt 5.7) |
enum QWebEngineProfile::PersistentCookiesPolicy
Это перечисление описывает политику сохранения куки:
| Константа | Значение | Описание |
|---|---|---|
QWebEngineProfile::NoPersistentCookies |
0 |
Сеансовые и постоянные куки хранятся в памяти. Это единственное возможное значение, если off-the-record установлено или путь к постоянным данным недоступен. |
QWebEngineProfile::AllowPersistentCookies |
1 |
Куки, помеченные как постоянные, сохраняются на диске и восстанавливаются из него, в то время как сеансовые куки сохраняются на диске только для восстановления после сбоя. Это значение по умолчанию. |
QWebEngineProfile::ForcePersistentCookies |
2 |
Сеансовые и постоянные куки сохраняются и восстанавливаются с диска. |
Документация по функциям-членам
QWebEngineProfile::QWebEngineProfile(QObject *parent = Q_NULLPTR)
Создаёт новый профиль «вне записи» с родителем parent.
Профиль «вне записи» не оставляет следов на локальном компьютере и не имеет постоянных данных или кэша. Таким образом, кэш HTTP может быть только в памяти, а куки — только непостоянные. Попытка изменить эти настройки не повлияет на них.
См. также 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::clearHttpCache()
Удаляет записи кэша профиля.
Эта функция была добавлена в Qt 5.7.
void QWebEngineProfile::clearVisitedLinks(const QList<QUrl> &urls)
Очищает ссылки в urls из базы данных посещённых ссылок.
См. также clearAllVisitedLinks().
QWebEngineCookieStore *QWebEngineProfile::cookieStore()
Возвращает хранилище куки для этого профиля.
Эта функция была добавлена в Qt 5.6.
QWebEngineProfile *QWebEngineProfile::defaultProfile()
Возвращает стандартный профиль.
Стандартный профиль использует имя хранилища "Default".
См. также storageName().
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 для идентификации браузера.
Примечание: В Windows 8.1 и новее значение user-agent по умолчанию всегда будет сообщать «Windows NT 6.2» (Windows 8), если приложение не содержит манифеста, в котором объявлены более новые версии Windows как поддерживаемые.
См. также setHttpUserAgent().
void QWebEngineProfile::installUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler)
Регистрирует обработчик handler для пользовательской схемы URL scheme в профиле.
Эта функция была добавлена в Qt 5.6.
bool QWebEngineProfile::isOffTheRecord() const
Возвращает true, если это профиль «вне записи», который не оставляет следов на компьютере.
Это заставит куки и кэш HTTP находиться в памяти, а также заставит все остальные обычно постоянные данные храниться в памяти.
bool QWebEngineProfile::isSpellCheckEnabled() const
Возвращает true, если проверка правописания включена; в противном случае возвращает false.
Эта функция была добавлена в Qt 5.8.
См. также setSpellCheckEnabled().
END_OF_DOCUMENT_MARKERPersistentCookiesPolicy 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)
Устанавливает значение поля 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)
Переопределяет строку пользователя по умолчанию, устанавливая её в userAgent.
См. также httpUserAgent().
void QWebEngineProfile::setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy)
Устанавливает политику для постоянных файлов cookie в newPersistentCookiesPolicy.
См. также persistentCookiesPolicy().
void QWebEngineProfile::setPersistentStoragePath(const QString &path)
Переопределяет путь по умолчанию для хранения постоянных данных веб-движка.
Если path установлено в пустую строку, восстанавливается путь по умолчанию.
См. также persistentStoragePath().
void QWebEngineProfile::setRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
Регистрирует синглтон обработчик запросов interceptor для перехвата запросов URL.
Профиль не принимает владение указателем.
Эта функция была добавлена в Qt 5.6.
См. также QWebEngineUrlRequestInfo.
void QWebEngineProfile::setSpellCheckEnabled(bool enable)
Включает проверку правописания, если enable равно true, иначе отключает её.
Эта функция была добавлена в Qt 5.8.
См. также isSpellCheckEnabled().
void QWebEngineProfile::setSpellCheckLanguages(const QStringList &languages)
Устанавливает текущий список языков languages для проверки правописания. Каждый язык должен соответствовать имени словаря .bdic. Например, язык en-US загрузит файл словаря en-US.bdic.
Qt WebEngine сначала ищет подкаталог qtwebengine_dictionaries в локальном каталоге, а если его нет, в каталоге установки Qt.
На macOS, в зависимости от настроек Qt WebEngine во время сборки, существуют два варианта поиска данных проверки правописания:
- Словари Hunspell (по умолчанию) - используются словари .bdic, как и на других платформах.
- Нативные словари - используются API проверки правописания macOS (результаты зависят от установленных словарей ОС).
Таким образом, в случае использования Hunspell, Qt WebEngine будет искать подкаталог qtwebengine_dictionaries внутри папки приложения Resources и также в папке Resources внутри пакета Qt.
Подводя итог, в случае использования Hunspell, рассматриваются следующие пути:
- QCoreApplication::applicationDirPath()/qtwebengine_dictionaries или QCoreApplication::applicationDirPath()/../Contents/Resources/qtwebengine_dictionaries (на macOS)
- [QLibraryInfo::DataPath]/qtwebengine_dictionaries или путь/к/QtWebEngineCore.framework/Resources/qtwebengine_dictionaries (пакет Qt на macOS)
Для получения дополнительной информации о том, как компилировать словари .bdic, обратитесь к примеру проверки правописания.
Эта функция была добавлена в Qt 5.8.
См. также spellCheckLanguages().
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.9/qwebengineprofile.html