- class QWebEngineUrlScheme#
QWebEngineUrlScheme
类配置自定义 URL 方案。 更多信息…摘要#
方法#
定义
__init__()
定义
flags()
定义
name()
定义
__ne__()
定义
__eq__()
定义
setFlags()
定义
setName()
定义
setSyntax()
定义
syntax()
静态函数#
注意
本文档可能包含从 C++ 自动转换到 Python 的代码片段。我们始终欢迎对代码片段的翻译做出贡献。如果您发现翻译有问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来告诉我们
详细说明#
Web 引擎 URL 方案从 Web 引擎的角度描述了 URL 方案,指定了此类方案 URL 应如何解析,以及应将哪些安全限制应用于从此类 URL 源头的资源。
自定义 URL 方案必须在应用程序启动早期配置,在创建任何 Qt WebEngine 类之前。一般来说,这意味着必须在创建 QGuiApplication 或 QApplication 实例之前配置方案。
每个已注册的方案配置都应用于所有配置文件的全局设置。
int main(int argc, char **argv) { QWebEngineUrlScheme scheme("myscheme"); scheme.setSyntax(QWebEngineUrlScheme::Syntax::HostAndPort); scheme.setDefaultPort(2345); scheme.setFlags(QWebEngineUrlScheme::SecureScheme); QWebEngineUrlScheme::registerScheme(scheme); ... }
为了实际上使用自定义 URL 方案,必须创建并注册一个
QWebEngineUrlSchemeHandler
到配置文件中。- class Syntax#
此枚举类型列出 URL 语法的类型。
要将同源策略应用于自定义URL方案,WebEngine 必须能够计算URL的原始地址(主机和端口组合)。
Host...
选项指示URL方案符合标准URL语法(如http
),并自动启用同源策略。Path
选项指示URL方案使用非标准语法,并且无法应用同源策略。常量
描述
QWebEngineUrlScheme_Syntax HostPortAndUserInformation
此类URL的授权组件包含所有标准元素:主机、端口、用户名和密码。没有端口的URL将使用
defaultPort
(必须 不是PortUnspecified
)。QWebEngineUrlScheme_Syntax HostAndPort
此类URL的授权组件只包含主机和端口元素。没有端口的URL将使用
defaultPort
(必须 不是PortUnspecified
)。QWebEngineUrlScheme_Syntax Host
此类URL的授权组件只包含主机部分,没有端口。必须将
defaultPort
设置为PortUnspecified
。QWebEngineUrlScheme_Syntax Path
此类URL完全没有授权组件。方案名称和分隔符(:)之后的所有内容都将原样保留,不进行验证或规范。这样的所有URL都将被认为是具有相同的原始地址(除非使用了
NoAccessAllowed
标志)。
- class SpecialPort#
此类枚举类型定义了
defaultPort
的特殊值。常量
描述
QWebEngineUrlScheme.PortUnspecified
表示URL方案没有端口号元素。
- class Flag#
(继承自
enum.Flag
)此类枚举类型指定了应用于URL方案的安全性选项。常量
描述
QWebEngineUrlScheme.SecureScheme
表示URL方案可能可信。[参考资料]。此标志仅应用于确保数据真实性、保密性和完整性的URL方案,无论是通过加密还是其他方法。例如,安全的内置方案包括
https
(认证和加密)和qrc
(仅本地资源),而http
是一个不安全方案的例子。QWebEngineUrlScheme.LocalScheme
表示URL方案提供对本地资源的访问。此标志的目的是防止网络内容访问本地资源。只有具有
LocalAccessAllowed
标志的方案才允许从具有LocalScheme
标志的方案加载资源。只有一个具有此标志的内置方案是file
。QWebEngineUrlScheme.LocalAccessAllowed
表示应允许此方案的内容从具有
LocalScheme
标志的方案加载资源。QWebEngineUrlScheme.NoAccessAllowed
表示此方案的所有内容都将强制具有唯一的不可见源:没有两个资源将具有相同的源。
QWebEngineUrlScheme.ServiceWorkersAllowed
表示应启用Service Workers API。
QWebEngineUrlScheme.ViewSourceAllowed
表示应启用“查看源”功能。
QWebEngineUrlScheme.ContentSecurityPolicyIgnored
表示访问此方案应绕过所有内容安全策略检查。
QWebEngineUrlScheme.CorsEnabled
为此方案启用跨源资源共享(CORS)。此标志对于内容通过不同源(包括其他方案的访问)加载是必需的。适当的CORS头由
QWebEngineUrlRequestJob
类自动生成。默认情况下,只有http
和https
启用CORS。 (自Qt 5.14添加)QWebEngineUrlScheme.FetchApiAllowed
启用HTML5 fetch API以及使用正文发送的
XMLHttpRequest.send
来使用URL方案。默认情况下,只有http
和https
可以由Fetch API或带有正文的XMLHttpRequest使用。
- __init__()#
使用默认值构建Web引擎URL方案。
- __init__(name)
- 参数:
name –
QByteArray
使用给定的
name
构建Web引擎URL方案。- __init__(that)
- 参数:
that –
QWebEngineUrlScheme
副本。
- defaultPort()链接
- 返回类型:
int
返回此URL方案的默认端口。
默认值是
PortUnspecified
。返回此URL方案的标志。
默认值是无标志集合。
另见
Flags
setFlags
- name()链接
- 返回类型:
返回此URL方案的名字。
默认值是空字符串。
另见
- __ne__(that)链接
- 参数:
that –
QWebEngineUrlScheme
- 返回类型:
bool
如果此对象与对象
that
不等,则返回true
。- __eq__(that)链接
- 参数:
that –
QWebEngineUrlScheme
- 返回类型:
bool
如果此对象与对象
that
相等,则返回true
。- 静态的 registerScheme(scheme)链接
- 参数:
方案 –
QWebEngineUrlScheme
在Web引擎的URL解析器和安全模型中注册
scheme
。建议在应用启动时注册所有自定义URL方案,即使默认选项已使用此功能。
- 静态的 schemeByName(name)链接
- 参数:
name –
QByteArray
- 返回类型:
返回具有给定
name
的Web引擎URL方案或默认构造的方案。另见
- setDefaultPort(newValue)#
- 参数:
newValue – int
将此URL方案的默认端口号设置为
newValue
。将此URL方案的标志设置为
newValue
。另见
Flags
flags()
- setName(newValue)#
- 参数:
newValue –
QByteArray
将此URL方案的名称为
newValue
。将此URL方案的语法类型设置为
newValue
。返回此URL方案的语法类型。
默认值是
Path
。