QQuickWebEngineProfile 泛型

QQuickWebEngineProfile 泛型提供多个页面共享的网页引擎配置。更多...

头文件 #include <QQuickWebEngineProfile>
CMakefind_package(Qt6 REQUIRED COMPONENTS WebEngineQuick)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineQuick)
qmakeQT += webenginequick
由以下实例化 WebEngineProfile
继承 QObject

公共类型

枚举HttpCacheType { MemoryHttpCache, DiskHttpCache, NoCache }
枚举PersistentCookiesPolicy { NoPersistentCookies, AllowPersistentCookies, ForcePersistentCookies }

属性

公共函数

QQuickWebEngineProfile(QObject *parent = nullptr)
QStringcachePath() const
voidclearHttpCache()
QWebEngineClientCertificateStore *clientCertificateStore()
QWebEngineCookieStore *cookieStore() const
QStringdownloadPath() const
QStringhttpAcceptLanguage() const
inthttpCacheMaximumSize() const
QQuickWebEngineProfile::HttpCacheTypehttpCacheType() const
QStringhttpUserAgent() const
voidinstallUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler)
boolisOffTheRecord() const
boolisPushServiceEnabled() const
boolisSpellCheckEnabled() const
QQuickWebEngineProfile::PersistentCookiesPolicypersistentCookiesPolicy() const
QStringpersistentStoragePath() const
voidremoveAllUrlSchemeHandlers()
voidremoveUrlScheme(const QByteArray &scheme)
voidremoveUrlSchemeHandler(QWebEngineUrlSchemeHandler *handler)
voidsetCachePath(const QString &path)
voidsetDownloadPath(const QString &path)
voidsetHttpAcceptLanguage(const QString &httpAcceptLanguage)
voidsetHttpCacheMaximumSize(int maxSize)
voidsetHttpCacheType(QQuickWebEngineProfile::HttpCacheType)
voidsetHttpUserAgent(const QString &userAgent)
voidsetOffTheRecord(bool offTheRecord)
voidsetPersistentCookiesPolicy(QQuickWebEngineProfile::PersistentCookiesPolicy)
voidsetPersistentStoragePath(const QString &path)
voidsetPushServiceEnabled(bool enable)
voidsetSpellCheckEnabled(bool enabled)
voidsetSpellCheckLanguages(const QStringList &languages)
voidsetStorageName(const QString &name)
voidsetUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
QStringListspellCheckLanguages() const
QStringstorageName() const
const QWebEngineUrlSchemeHandler *urlSchemeHandler(const QByteArray &scheme) const
QQuickWebEngineScriptCollection *userScripts() const

信号

voidcachePathChanged()
(自6.7以来) voidclearHttpCacheCompleted()
voiddownloadFinished(QQuickWebEngineDownloadRequest *download)
voiddownloadPathChanged()
voiddownloadRequested(QQuickWebEngineDownloadRequest *download)
voidhttpAcceptLanguageChanged()
voidhttpCacheMaximumSizeChanged()
voidhttpCacheTypeChanged()
voidhttpUserAgentChanged()
voidoffTheRecordChanged()
voidpersistentCookiesPolicyChanged()
voidpersistentStoragePathChanged()
voidpresentNotification(QWebEngineNotification *notification)
voidpushServiceEnabledChanged()
voidspellCheckEnabledChanged()
voidspellCheckLanguagesChanged()
voidstorageNameChanged()

静态公共成员

QQuickWebEngineProfile *defaultProfile()

详细描述

Web引擎配置文件包含设置、脚本、持久cookie策略和由属于该配置文件的所有Web引擎页面共享的已访问链接列表。

访问链接的信息与持久cookie以及其他持久数据一起存储在由 storageName 属性确定的存储中。持久数据存储在由 persistentStoragePath 属性确定的子目录中,缓存存储在由 cachePath 属性确定的子目录中。 httpCacheType 属性描述了缓存的类型:内存中磁盘上。如果只设置了 storageName 属性,则其他值将根据它自动生成。如果您手动指定了任何值,则应该在创建属于配置文件的任何页面之前执行此操作。

配置文件可以用来隔离页面。一个典型用例是为 离线浏览模式 设定的专用 离线配置文件。离线配置文件强制cookie、HTTP缓存和其他通常持久的数据仅存储在内存中。 offTheRecord 属性保留配置文件是否为离线状态的标志。

默认配置文件可以通过 defaultProfile() 访问。它是一个内置配置文件,所有未特别使用其他配置文件创建的网页都属于此。

可以通过C++中的QQuickWebEngineProfile类创建和访问WebEngineProfile实例,该类在C++中公开了更多功能。这允许Qt Quick应用程序拦截URL请求(QQuickWebEngineProfile::setRequestInterceptor)或注册自定义URL方案(QQuickWebEngineProfile::installUrlSchemeHandler)。

可以通过设置 spellCheckEnabled 属性来按配置文件启用拼写检查HTML表单字段,并可以通过使用 spellCheckLanguages 属性来设置用于拼写检查的当前语言。

成员类型文档

枚举 QQuickWebEngineProfile::HttpCacheType

此枚举描述了HTTP缓存类型

常量描述
QQuickWebEngineProfile::MemoryHttpCache0使用内存缓存。这是如果设置了off-the-record时的默认值。
QQuickWebEngineProfile::DiskHttpCache1使用磁盘缓存。这是如果没有设置off-the-record时的默认值。如果设置了off-the-record,将回退到MemoryHttpCache
QQuickWebEngineProfile::NoCache2禁用内存和磁盘缓存。(自Qt 5.7版添加)

枚举 QQuickWebEngineProfile::PersistentCookiesPolicy

此枚举描述了cookie持久性的策略。

常量描述
QQuickWebEngineProfile::NoPersistentCookies0会话和持久cookie都存储在内存中。这是如果设置了off-the-record或没有可用的持久数据路径的情况下唯一可能的设置。
QQuickWebEngineProfile::AllowPersistentCookies1标记为持久的cookie会被保存到磁盘上,并在从磁盘恢复。这是默认设置。
QQuickWebEngineProfile::ForcePersistentCookies2会话和持久cookie都保存到和从磁盘恢复。

属性文档

cachePath : QString

存储配置文件缓存的位置的路径,特别是HTTP缓存。

默认情况下,缓存存储在QStandardPaths::writableLocation(QStandardPaths::CacheLocation)下的目录中,该目录使用storageName命名。

访问函数

QStringcachePath() const
voidsetCachePath(const QString &path')

通知信号

voidcachePathChanged()

[自 QtWebEngine 1.9 开始] downloadPath : QString

存储下载文件的位置路径。

重写默认的下载位置路径,将其设置为path

如果设置为空字符串,则恢复默认路径。

注意: 默认情况下,下载路径是QStandardPaths::DownloadLocation

此属性自 QtWebEngine 1.9 起被引入。

访问函数

QStringdownloadPath() const
voidsetDownloadPath(const QString &path')

通知信号

voiddownloadPathChanged()

httpAcceptLanguage : QString

Accept-Language HTTP请求报头字段的值。

访问函数

QStringhttpAcceptLanguage() const
voidsetHttpAcceptLanguage(const QString &httpAcceptLanguage')

通知信号

voidhttpAcceptLanguageChanged()

httpCacheMaximumSize : int

HTTP缓存的 maximum 大小。如果 0,则大小将由 QtWebEngine 自动控制。默认值是 0

访问函数

inthttpCacheMaximumSize() const
voidsetHttpCacheMaximumSize(int maxSize)

通知信号

voidhttpCacheMaximumSizeChanged()

另请参阅 httpCacheType.

httpCacheType : HttpCacheType

这个枚举定义了 HTTP 缓存的类型。

如果配置文件是“离线”的或未设置 storageName,则返回 MemoryHttpCache

访问函数

QQuickWebEngineProfile::HttpCacheTypehttpCacheType() const
voidsetHttpCacheType(QQuickWebEngineProfile::HttpCacheType)

通知信号

voidhttpCacheTypeChanged()

httpUserAgent : QString

用于识别浏览器的用户代理字符串。

访问函数

QStringhttpUserAgent() const
voidsetHttpUserAgent(const QString &userAgent')

通知信号

voidhttpUserAgentChanged()

[自 QtWebEngine 6.5 开始] isPushServiceEnabled : bool

是否启用推送消息服务。

注意: 默认情况下,推送消息服务是禁用的。

注意: Qt WebEngine 使用 Firebase Cloud Messaging (FCM) 作为浏览器推送服务。因此,所有推送消息将通过 Google 推送服务和相应的服务器。

此属性自 QtWebEngine 6.5 起被引入。

访问函数

boolisPushServiceEnabled() const
voidsetPushServiceEnabled(bool enable)

通知信号

voidpushServiceEnabledChanged()

offTheRecord : bool

是否将网络引擎配置为离线。脱机配置将强制将 cookies、HTTP 缓存和其他通常持久数据只存储在内存中。默认情况下,配置是脱机的。

访问函数

boolisOffTheRecord() const
voidsetOffTheRecord(bool offTheRecord)

通知信号

voidoffTheRecordChanged()

persistentCookiesPolicy : PersistentCookiesPolicy

此枚举描述了Cookie持久性的策略。如果配置文件是离线模式的,则返回NoPersistentCookies

访问函数

QQuickWebEngineProfile::PersistentCookiesPolicypersistentCookiesPolicy() const
voidsetPersistentCookiesPolicy(QQuickWebEngineProfile::PersistentCookiesPolicy)

通知信号

voidpersistentCookiesPolicyChanged()

persistentStoragePath : QString

此路径指定了存储浏览器和网页内容的持久数据的目录。持久数据包括持久Cookie、HTML5本地下存储和访问过的链接。

默认情况下,存储位于QStandardPaths::writableLocation(QStandardPaths::AppDataLocation)下,在一个使用storageName命名的目录中。

访问函数

QStringpersistentStoragePath() const
voidsetPersistentStoragePath(const QString &path)

通知信号

voidpersistentStoragePathChanged()

[since QtWebEngine 1.4] spellCheckEnabled : bool

此属性表示是否启用了网络引擎的拼写检查器。

此属性自QtWebEngine 1.4版本开始引入。

访问函数

boolisSpellCheckEnabled() const
voidsetSpellCheckEnabled(bool enabled)

通知信号

voidspellCheckEnabledChanged()

[since QtWebEngine 1.4] spellCheckLanguages : QStringList

此属性包含拼写检查器使用的语言。

此属性自QtWebEngine 1.4版本开始引入。

访问函数

QStringListspellCheckLanguages() const
voidsetSpellCheckLanguages(const QStringList &languages)

通知信号

voidspellCheckLanguagesChanged()

storageName : QString

用于创建每个使用磁盘存储持久数据和缓存的配置文件的单独子目录的存储名称。

访问函数

QStringstorageName() const
voidsetStorageName(const QString &name)

通知信号

voidstorageNameChanged()

参见persistentStoragePathcachePath

成员函数文档

QQuickWebEngineProfile::QQuickWebEngineProfile(QObject *parent = nullptr)

使用父对象parent构造一个新的配置文件。

[invokable] void QQuickWebEngineProfile::clearHttpCache()

移除配置文件的缓存条目。

注意:在进行清除操作时,请确保不要开始新的导航或对配置文件执行任何操作。clearHttpCacheCompleted() 信号会在完成时通知。

注意:此函数可以通过元对象系统从QML调用的方式调用。有关详细信息,请参阅Q_INVOKABLE

参见WebEngineProfile::clearHttpCache() 和 clearHttpCacheCompleted

[signal, since 6.7] void QQuickWebEngineProfile::clearHttpCacheCompleted()

clearHttpCache()操作完成时,会发出此信号。

此函数自Qt 6.7版本开始。

参见clearHttpCache

QWebEngineClientCertificateStore *QQuickWebEngineProfile::clientCertificateStore()

返回该配置文件的客户端证书存储。

QWebEngineCookieStore *QQuickWebEngineProfile::cookieStore() const

返回该配置文件的Cookie存储。

[静态] QQuickWebEngineProfile *QQuickWebEngineProfile::defaultProfile()

返回默认配置文件。

默认配置文件为无记录模式。

另请参阅storageName

[信号] void QQuickWebEngineProfile::downloadFinished(QQuickWebEngineDownloadRequest *download)

每当下载停止(因为完成、取消或中断,例如因为丢失连接)时都会发出此信号。 download 参数包含已完成下载对象的当前状态。

注意:要从C++的 download 使用 QWebEngineDownloadRequest

[信号] void QQuickWebEngineProfile::downloadRequested(QQuickWebEngineDownloadRequest *download)

每当触发了下载时都会发出此信号。 download 参数包含下载的状态。下载必须使用 QWebEngineDownloadRequest::accept() 明确接受,否则它将默认取消。下载项目由配置文件归档。如果它没有被接受,它将在信号发出后立即被删除。此信号不能与队列连接一起使用。

注意:要从C++的 download 使用 QWebEngineDownloadRequest

void QQuickWebEngineProfile::installUrlSchemeHandler(const QByteArray &scheme, QWebEngineUrlSchemeHandler *handler)

在配置文件中为自定义URL方案 scheme 注册处理器 handler

必须在应用程序启动时首次使用 QWebEngineUrlScheme::registerScheme 注册方案。

[信号] void QQuickWebEngineProfile::presentNotification(QWebEngineNotification *notification)

每当有新的用户通知时都会发出此信号。 notification 参数包含可查询数据和与之交互的 QWebEngineNotification 实例。

另请参阅WebEngineProfile::presentNotification

void QQuickWebEngineProfile::removeAllUrlSchemeHandlers()

从配置文件中删除所有已安装的自定义URL方案处理器。

void QQuickWebEngineProfile::removeUrlScheme(const QByteArray &scheme)

从配置文件中删除自定义URL方案 scheme

另请参阅removeUrlSchemeHandler

void QQuickWebEngineProfile::removeUrlSchemeHandler(QWebEngineUrlSchemeHandler *handler)

从配置文件中删除自定义URL方案处理器 handler

参见 removeUrlScheme

void QQuickWebEngineProfile::setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)

注册一个请求拦截器单例 interceptor 以拦截URL请求。

配置文件不会获取该指针的所有权。

参见 QWebEngineUrlRequestInfoQWebEngineUrlRequestInterceptor

QStringList QQuickWebEngineProfile::spellCheckLanguages() const

返回拼写检查器使用的语言列表。

注意: spellCheckLanguages属性的获取函数。

参见 setSpellCheckLanguages

const QWebEngineUrlSchemeHandler *QQuickWebEngineProfile::urlSchemeHandler(const QByteArray &scheme) const

返回为URL方案 scheme 注册的自定义URL方案处理器。

© 2024 The Qt Company Ltd. 文档的贡献是各自所有者的版权。本提供的文档是在自由软件基金会发布的GNU自由文档许可版本1.3条款下授予的。Qt及其相关标志是The Qt Company Ltd.在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。