WebEngineProfile QML Type

包含多个网络引擎视图共有的设置、脚本和访问链接。更多

Import Statement: import QtWebEngine
Since: QtWebEngine 1.1
In C++: QQuickWebEngineProfile

属性

信号

方法

详细说明

WebEngineProfile 包含设置、脚本以及属于该配置文件的所有视图共享的已访问链接列表。

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

预案可用于将页面相互隔离。一个典型的用例是用于私人浏览模式的专用非记录预案。非记录配置文件会强制 Cookie、HTTP 缓存和其他通常持久的数据只存储在内存中。offTheRecord 属性表示配置文件是否为非记录配置文件。

每个网络引擎视图都有一个相关的配置文件。没有特定配置文件集的视图共享一个共同的配置文件,默认情况下该配置文件是不记录的。

注意: 建议使用 6.9 版中新的WebEngineProfilePrototype 来创建配置文件。

属性文档

cachePath : string

存储配置文件缓存(尤其是 HTTP 缓存)位置的路径。

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


downloadPath : string [since QtWebEngine 1.9]

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

覆盖用于下载位置的默认路径。

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

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

该属性在 QtWebEngine 1.9 中引入。


httpAcceptLanguage : string [since QtWebEngine 1.2]

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

该属性在 QtWebEngine 1.2 中引入。


httpCacheMaximumSize : int

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

另请参阅 httpCacheType


httpCacheType : enumeration

该枚举描述了 HTTP 缓存的类型:

常量描述
WebEngineProfile.MemoryHttpCache使用内存缓存。如果设置了offTheRecord 或没有可用的storageName (这是默认设置),这是唯一可能的设置。
WebEngineProfile.DiskHttpCache使用磁盘缓存。这是storageName 非关记录配置文件的默认值。
WebEngineProfile.NoCache禁用缓存。(在 5.7 中添加)

httpUserAgent : string

随 HTTP 发送的用户代理字符串,用于识别浏览器。

注: 在 Windows 8.1 及更新版本中,默认用户代理将始终报告 "Windows NT 6.2"(Windows 8),除非应用程序包含声明支持更新 Windows 版本的清单。


isPushServiceEnabled : bool [since QtWebEngine 6.5]

推送消息服务是否启用。

注: 推送消息服务默认为禁用。

注: Qt WebEngine 使用Firebase Cloud Messaging(FCM)作为浏览器推送服务。因此,所有推送消息都将通过谷歌推送服务及其各自的服务器发送。

此属性在 QtWebEngine 6.5 中引入。


offTheRecord : bool

网络引擎配置文件是否为非记录配置文件。非记录配置文件会强制 Cookie、HTTP 缓存和其他通常持久的数据只存储在内存中。默认情况下,配置文件为非记录配置文件。

要将配置文件从"不记录 "行为改为基于磁盘的行为,还需要设置适当的storageName

另请参阅 storageName


persistentCookiesPolicy : enumeration

该枚举描述了 cookie 持久性策略:

常量说明
WebEngineProfile.NoPersistentCookies会话和持久 cookie 都存储在内存中。如果设置了offTheRecord 或没有storageName (这是默认设置),这是唯一可能的设置。
WebEngineProfile.AllowPersistentCookies标记为持久的 Cookie 会保存到磁盘并从磁盘还原,而会话 Cookie 只会保存到磁盘,用于崩溃恢复。这是storageName 非关记录配置文件的默认值。
WebEngineProfile.ForcePersistentCookies会话和持续 cookie 都会保存到磁盘并从磁盘恢复。

persistentPermissionsPolicy : enumeration [since 6.8]

该枚举描述了权限持久性策略:

常量说明
WebEngineProfile.AskEveryTime每次需要权限时,应用程序都会请求权限,无论之前是否已授予权限。这样做的目的是为了与现有应用程序向后兼容,否则不建议采用。
WebEngineProfile.StoreInMemory只有在第一次需要权限时才会提出请求。之后的任何请求都将根据用户最初的选择自动批准或拒绝。这将延续到使用同一QWebEngineProfile 实例的所有页面,直至应用程序关闭。如果设置了off-the-record 或没有可用的持久数据路径,则会应用此设置。
WebEngineProfile.StoreOnDisk工作方式与PersistentPermissionsInMemory 相同,但权限会保存到磁盘并从磁盘恢复。这是默认设置。

此属性在 Qt 6.8 中引入。


persistentStoragePath : string

浏览器和网页内容的持久数据存储位置的路径。持久数据包括持久 cookie、HTML5 本地存储和访问过的链接。

默认情况下,存储位置位于QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) 以下,目录名为storageName


spellCheckEnabled : bool [since QtWebEngine 1.4]

该属性显示网络引擎拼写检查器是否启用。

该属性在 QtWebEngine 1.4 中引入。


spellCheckLanguages : list<string> [since QtWebEngine 1.4]

该属性包含拼写检查器使用的语言列表。每种语言都应与.bdic 字典的名称相匹配。例如,语言en-US 将加载en-US.bdic 字典文件。

有关如何搜索词典文件,请参阅拼写检查程序功能文档

有关如何编译.bdic 字典的更多信息,请参阅Spellchecker 示例

此属性在 QtWebEngine 1.4 中引入。


storageName : string

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

另请参阅 WebEngineProfile::persistentStoragePathWebEngineProfile::cachePath


userScripts : WebEngineScriptCollection [read-only]

返回注入到共享此配置文件的所有页面中的WebEngineScript 对象集合。


信号文档

[since QtWebEngine 6.7] clearHttpCacheCompleted()

clearHttpCache() 操作完成时发出该信号。

注: 相应的处理程序是onClearHttpCacheCompleted

此信号在 QtWebEngine 6.7 中引入。

另请参阅 clearHttpCache() 。


downloadFinished(WebEngineDownloadRequest download)

当下载因成功完成、取消或中断(如失去连接)而停止时,就会发出该信号。download 参数包含已完成下载实例的状态。

注: 相应的处理程序是onDownloadFinished


downloadRequested(WebEngineDownloadRequest download)

只要触发下载,就会发出该信号。download 参数保存下载的状态。必须使用WebEngineDownloadRequest::accept() 明确接受下载,否则下载将被默认取消。

注: 相应的处理程序是onDownloadRequested


[since QtWebEngine 1.9] presentNotification(WebEngineNotification notification)

每当有新创建的用户通知时,就会发出该信号。notification 参数包含用于查询数据和进行交互的WebEngineNotification 实例。

注: 相应的处理程序是onPresentNotification

此信号在 QtWebEngine 1.9 中引入。


方法文档

[since QtWebEngine 1.3] void clearHttpCache()

删除配置文件的缓存项。

注意: 确保在清除操作过程中不对配置文件启动新的导航或任何操作。clearHttpCacheCompleted() 信号会通知完成。

此方法在 QtWebEngine 1.3 中引入。

另请参阅 WebEngineProfile::cachePathclearHttpCacheCompleted()。


[since 6.8] list<webEnginePermission> listAllPermissions()

返回list webEnginePermission 对象,每个对象代表权限存储中当前存在的一个权限。返回的列表包含此配置文件以前授予/拒绝的所有权限,前提是这些权限属于持久类型。

注: 当 persistentPermissionPolicy 属性设置为AskEveryTime 时,此方法将返回一个空列表。

此方法在 Qt 6.8 中引入。

另请参阅 queryPermission()、listPermissionsForOrigin()、listPermissionsForPermissionType() 和webEnginePermission::isPersistent() 。


[since 6.8] list<webEnginePermission> listPermissionsForOrigin(url securityOrigin)

返回listwebEnginePermission 对象,每个对象代表权限存储中当前存在的一个权限。返回的列表包含与该配置文件的特定securityOrigin 相关联的所有先前授予/拒绝的权限,前提是这些权限属于持久类型。

注: 由于权限是按原点授予的,因此所提供的securityOrigin 将被剥离为原点形式,返回的列表将包含原点的所有权限。因此,传递 https://www.example.com/some/page.html 与只传递 https://www.example.com/ 是一样的。

注: 当 persistentPermissionPolicy() 设置为AskEveryTime 时,将返回一个空列表。

此方法在 Qt 6.8 中引入。

另请参阅 queryPermission()、listAllPermissions()、listPermissionsForPermissionType() 和webEnginePermission::isPersistent()。


[since 6.8] list<webEnginePermission> listPermissionsForPermissionType(WebEnginePermission.PermissionType permissionType)

返回listwebEnginePermission 对象,每个对象代表当前权限存储中的一个权限。返回的列表包含所提供permissionType 的所有先前授予/拒绝的权限。如果权限类型是非持久的,则列表为空。

注: 当 persistentPermissionPolicy() 设置为AskEveryTime 时,将返回空列表。

此方法在 Qt 6.8 中引入。

另请参阅 queryPermission(),listAllPermissions(),listPermissionsForOrigin() 和webEnginePermission::isPersistent().


[since 6.8] void queryPermission(url securityOrigin, WebEnginePermission.PermissionType permissionType)

返回与所提供的securityOriginpermissionType 的单个权限相对应的webEnginePermission 对象。该对象可用于查询权限的当前状态或更改权限。该对象可用于查询权限的当前状态,也可用于更改权限。不要求权限已经存在;如果已知某个网站使用权限,返回的对象也可用于预先授予该权限。

注意: 只能用于持久权限类型。使用非持久permissionType 调用该方法将返回一个无效对象。

此方法在 Qt 6.8 中引入。

另请参阅 listAllPermissions()、listPermissionsForOrigin() 和listPermissionsForPermissionType()。


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.