QWebEngineProfile 类

QWebEngineProfile 类提供由多个页面共享的 Web 引擎配置文件。 更多...

头: #include <QWebEngineProfile>
qmake: QT += webenginewidgets
Since: Qt 5.5
继承: QObject

该类在 Qt 5.5 引入。

公共类型

enum HttpCacheType { MemoryHttpCache, DiskHttpCache, NoCache }
enum PersistentCookiesPolicy { NoPersistentCookies, AllowPersistentCookies, ForcePersistentCookies }

公共函数

QWebEngineProfile (const QString & storageName , QObject * parent = Q_NULLPTR)
QWebEngineProfile (QObject * parent = Q_NULLPTR)
QString cachePath () const
void clearAllVisitedLinks ()
void clearHttpCache ()
void clearVisitedLinks (const QList<QUrl> & urls )
QWebEngineClientCertificateStore * clientCertificateStore ()
QWebEngineCookieStore * cookieStore ()
QString downloadPath () const
QString httpAcceptLanguage () const
int httpCacheMaximumSize () const
QWebEngineProfile::HttpCacheType httpCacheType () const
QString httpUserAgent () const
void installUrlSchemeHandler (const QByteArray & scheme , QWebEngineUrlSchemeHandler * handler )
bool isOffTheRecord () const
bool isSpellCheckEnabled () const
bool isUsedForGlobalCertificateVerification () const
QWebEngineProfile::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 setDownloadPath (const QString & path )
void setHttpAcceptLanguage (const QString & httpAcceptLanguage )
void setHttpCacheMaximumSize (int maxSize )
void setHttpCacheType (QWebEngineProfile::HttpCacheType httpCacheType )
void setHttpUserAgent (const QString & userAgent )
void setNotificationPresenter (std::function<void (std::unique_ptr<QWebEngineNotification>)> notificationPresenter )
void setPersistentCookiesPolicy (QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy )
void setPersistentStoragePath (const QString & path )
void setSpellCheckEnabled (bool enable )
void setSpellCheckLanguages (const QStringList & languages )
void setUrlRequestInterceptor (QWebEngineUrlRequestInterceptor * interceptor )
void setUseForGlobalCertificateVerification (bool enabled = true)
QWebEngineSettings * settings () const
QStringList spellCheckLanguages () const
QString storageName () const
const QWebEngineUrlSchemeHandler * urlSchemeHandler (const QByteArray & scheme ) const
bool visitedLinksContainsUrl (const QUrl & url ) const

信号

void downloadRequested (QWebEngineDownloadItem * download )

静态公共成员

QWebEngineProfile * defaultProfile ()

详细描述

Web 引擎配置文件包含设置、脚本、持久性 Cookie 策略及属于配置文件由所有 Web 引擎页面共享的拜访链接列表。

属于配置文件的所有页面共享公共 QWebEngineSettings 实例,可以访问采用 settings () 方法。同样, scripts () 方法提供访问为公共 QWebEngineScriptCollection 实例。

Information about visited links is stored together with persistent cookies and other persistent data in a storage returned by storageName (). Persistent data is stored in a subdirectory set by calling setPersistentStoragePath (), and the cache is located in a subdirectory set by calling setCachePath (). The cache type can be set to in-memory or on-disk 通过调用 setHttpCacheType (). If only the storage name is set, the subdirectories are created and named automatically. If you set any of the values manually, you should do it before creating any pages that belong to the profile.

可以清零缓存链接通过调用 clearVisitedLinks () 或 clearAllVisitedLinks (). PersistentCookiesPolicy 描述是否把会话和持久 Cookie 保存到内存或磁盘并从中还原。

Profiles can be used to isolate pages from each other. A typical use case is a dedicated off-the-record profile 对于 隐私浏览 mode. Using QWebEngineProfile() without defining a storage name constructs a new off-the-record profile that leaves no record on the local machine, and has no persistent data or cache. The isOffTheRecord () method can be used to check whether a profile is off-the-record.

The default profile can be accessed by defaultProfile (). It is a built-in profile that all web pages not specifically created with another profile belong to.

实现 QWebEngineUrlRequestInterceptor interface and registering the interceptor on a profile by setUrlRequestInterceptor () enables intercepting, blocking, and modifying URL requests ( QWebEngineUrlRequestInfo ) 在它们到达 Chromium 网络堆栈之前。

QWebEngineUrlSchemeHandler 可以被注册为配置文件通过 installUrlSchemeHandler () 去添加对自定义 URL 方案的支持。然后把方案请求发送给 QWebEngineUrlSchemeHandler::requestStarted () 作为 QWebEngineUrlRequestJob 对象。

可以启用每个配置文件的拼写检查 HTML 表单字段通过使用 setSpellCheckEnabled () 方法和可以设置用于拼写检查的当前语言通过使用 setSpellCheckLanguages () 方法。

成员类型文档编制

enum 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 添加)

enum QWebEngineProfile:: PersistentCookiesPolicy

此枚举描述 Cookie 持久性策略:

常量 描述
QWebEngineProfile::NoPersistentCookies 0 Both session and persistent cookies are stored in memory. This is the only setting possible if off-the-record is set or no persistent data path is available.
QWebEngineProfile::AllowPersistentCookies 1 Cookies marked persistent are saved to and restored from disk, whereas session cookies are only stored to disk for crash recovery. This is the default setting.
QWebEngineProfile::ForcePersistentCookies 2 会话和持久 Cookie 均保存到磁盘并从中还原。

成员函数文档编制

QWebEngineProfile:: QWebEngineProfile (const QString & storageName , QObject * parent = Q_NULLPTR)

构造新配置文件采用存储名称 storageName 和父级 parent .

存储名称必须唯一。

基于磁盘的 QWebEngineProfile 应该在应用程序退出时 (或之前) 被销毁,否则可能不会把缓存和持久数据完全刷新到磁盘。

另请参阅 storageName ().

QWebEngineProfile:: QWebEngineProfile ( QObject * parent = Q_NULLPTR)

构造新 off-the-record 配置文件采用父级 parent .

An off-the-record profile leaves no record on the local machine, and has no persistent data or cache. Thus, the HTTP cache can only be in memory and the cookies can only be non-persistent. Trying to change these settings will have no effect.

另请参阅 isOffTheRecord ().

[signal] void QWebEngineProfile:: downloadRequested ( QWebEngineDownloadItem * download )

此信号被发射每当下载已被触发。 download 自变量保持下载的状态。下载必须被明确接受采用 QWebEngineDownloadItem::accept (),否则默认情况下,它会被取消。下载项的父级是 Profile。若不接受,在信号发出后它会被立即删除。此信号不可以用于队列连接。

该函数在 Qt 5.5 引入。

另请参阅 QWebEngineDownloadItem and QWebEnginePage::download ().

QString QWebEngineProfile:: cachePath () const

返回用于缓存的路径。

默认情况下,这位于 QtWebengine/StorageName 特定子目录中 StandardPaths::CacheLocation 下。

注意: 使用 QStandardPaths::writableLocation ( QStandardPaths::CacheLocation ) 以获得 QStandardPaths::CacheLocation 路径。

另请参阅 setCachePath (), storageName (),和 QStandardPaths::writableLocation ().

清零所有链接从拜访链接数据库。

另请参阅 clearVisitedLinks ().

void QWebEngineProfile:: clearHttpCache ()

移除 Profile 的缓存条目。

该函数在 Qt 5.7 引入。

清零链接在 urls 从拜访链接数据库

另请参阅 clearAllVisitedLinks ().

QWebEngineClientCertificateStore *QWebEngineProfile:: clientCertificateStore ()

返回 Profile (配置文件) 的客户端证书存储。

该函数在 Qt 5.13 引入。

QWebEngineCookieStore *QWebEngineProfile:: cookieStore ()

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

该函数在 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 缓存类型。

若配置文件为 off-the-record, MemoryHttpCache 被返回。

另请参阅 setHttpCacheType () 和 cachePath ().

QString QWebEngineProfile:: httpUserAgent () const

返回与 HTTP 一起发送,以标识浏览器的用户代理字符串。

注意: On Windows 8.1 and newer, the default user agent will always report "Windows NT 6.2" (Windows 8), unless the application does contain a manifest that declares newer Windows versions as supported.

另请参阅 setHttpUserAgent ().

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

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

它是必要的,首先注册方案采用 QWebEngineUrlScheme::registerScheme 在应用程序启动时。

该函数在 Qt 5.6 引入。

bool QWebEngineProfile:: isOffTheRecord () const

返回 true 若这是 off-the-record 配置文件 (离开计算机无记录)。

这将强制 Cookie 和 HTTP 缓存在内存中,但也强制所有其它通常持久数据存储在内存中。

bool QWebEngineProfile:: isSpellCheckEnabled () const

返回 true 若拼写检查器被启用;否则返回 false .

该函数在 Qt 5.8 引入。

另请参阅 setSpellCheckEnabled ().

bool QWebEngineProfile:: isUsedForGlobalCertificateVerification () const

返回 true 如果此配置文件目前被用于全局证书验证。

该函数在 Qt 5.13 引入。

QWebEngineProfile::PersistentCookiesPolicy QWebEngineProfile:: persistentCookiesPolicy () const

返回持久 Cookie 的当前策略。

若配置文件为 off-the-record, NoPersistentCookies 被返回。

另请参阅 setPersistentCookiesPolicy ().

QString QWebEngineProfile:: persistentStoragePath () const

返回用于存储浏览器和 Web 内容持久数据的路径。

持久数据包括:持久 Cookie、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 .

若设为 null 字符串,则还原默认路径。

另请参阅 cachePath ().

void QWebEngineProfile:: setDownloadPath (const QString & path )

覆盖用于下载位置的默认路径,将其设为 path .

若设为 null 字符串,则还原默认路径。

该函数在 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 )

覆盖默认用户代理字符串,将其设为 userAgent .

另请参阅 httpUserAgent ().

void QWebEngineProfile:: setNotificationPresenter ( std::function < void ( std::unique_ptr < QWebEngineNotification >)> notificationPresenter )

设置函数 notificationPresenter 负责呈现已发送通知。

该函数在 Qt 5.13 引入。

另请参阅 QWebEngineNotification .

void QWebEngineProfile:: setPersistentCookiesPolicy ( QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy )

把持久 Cookie 策略设为 newPersistentCookiesPolicy .

另请参阅 persistentCookiesPolicy ().

void QWebEngineProfile:: setPersistentStoragePath (const QString & path )

覆盖用于存储持久 Web 引擎数据的默认路径。

path 设为 null 字符串,则还原默认路径。

另请参阅 persistentStoragePath ().

void QWebEngineProfile:: setSpellCheckEnabled ( bool enable )

启用拼写检查器,若 enable is true ,否则禁用它。

该函数在 Qt 5.8 引入。

另请参阅 isSpellCheckEnabled ().

void QWebEngineProfile:: setSpellCheckLanguages (const QStringList & languages )

设置当前列表 languages 为拼写检查器。每种语言应该匹配的名称源于 .bdic 字典。例如,语言 en-US 将加载 en-US.bdic 字典文件。

拼写检查器特征文档编制 如何搜索字典文件。

了解更多信息关于如何编译 .bdic 字典,见 拼写检查器范例 .

该函数在 Qt 5.8 引入。

另请参阅 spellCheckLanguages ().

void QWebEngineProfile:: setUrlRequestInterceptor ( QWebEngineUrlRequestInterceptor * interceptor )

注册请求拦截器单例 interceptor 到拦截 URL 请求。

配置文件不拥有指针的所有权。

该函数在 Qt 5.13 引入。

另请参阅 QWebEngineUrlRequestInfo and QWebEngineUrlRequestInterceptor .

void QWebEngineProfile:: setUseForGlobalCertificateVerification ( bool enabled = true)

Sets if this profile is to be used for downloading and caching when needed during certificate verification, for instance for OCSP, CRLs, and AIA.

Only one QWebEngineProfile can do this at a time, and it is recommended that the profile fullfilling this role has a disk HTTP cache to avoid needlessly re-downloading. If you set the option on a second profile, it will be disabled on the profile it is currently set.

目前,仅影响启用 OCSP 的 Linux/NSS 安装。

只要一个配置文件已 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 if url 被认为通过此配置文件拜访过链接。