PySide6.QtWebEngineCore.QWebEnginePermission¶
- class QWebEnginePermission¶
一个
QWebEnginePermission
是一个用于访问和修改已授予或拒绝特定源URL的单个权限状态的对象。更多…在版本6.8中添加。
概要¶
属性¶
isValidᅟ
- 表示尝试更改权限状态是否成功originᅟ
- 权限关联的源URLpermissionTypeᅟ
- 与此权限关联的权限类型stateᅟ
- 权限的当前状态
方法¶
静态函数¶
def
isPersistent()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
典型的使用模式如下:
一个网站请求特定权限,触发
permissionRequested()
信号;信号处理程序触发一个提示,询问用户是否要授予权限;
或者,一个对修改已授予权限感兴趣的应用程序可以使用
listAllPermissions()
来获取与配置文件关联的现有权限列表,或者使用queryPermission()
来获取特定权限的QWebEnginePermission
对象。origin()
属性可用于查询QWebEnginePermission
关联的源,而permissionType()
属性描述了请求权限的类型。网站源是其方案、主机名和端口的组合。权限是基于每个源授予的;因此,如果网页https://www.example.com:12345/some/page.html
请求权限,它将授予源https://www.example.com:12345/
。PermissionType
描述了 Qt WebEngine 支持的所有权限类型。只有一些权限类型在浏览会话之间被记住;它们是持久性的。非持久性权限每次网站请求时都会询问用户。您可以在运行时使用静态方法isPersistent()
检查权限类型是否为持久性。持久权限存储在活动的
QWebEngineProfile
中,它们的生命周期取决于persistentPermissionsPolicy()
的值。默认情况下,命名配置文件将它们的权限存储在磁盘上,而临时配置文件则将它们存储在内存中(并在配置文件销毁时销毁它们)。存储的权限在下一次网站请求时不会查询用户;相反,它将根据用户最初选择的解决方案自动授予或拒绝。要清除存储的权限,请调用reset()
。另一方面,非持久性权限仅在相关的
QWebEnginePage
导航到不同的URL或被销毁之前可用。您可以使用
isValid()
属性检查QWebEnginePermission
是否处于有效状态。对于无效对象,调用grant()
、deny()
或reset()
将不会执行任何操作,而调用state()
将始终返回Invalid
。- class PermissionType¶
此枚举类型保存请求的权限类型:
常量
描述
QWebEnginePermission.PermissionType.MediaAudioCapture
访问麦克风或其他音频源。此权限不是持久的。
QWebEnginePermission.PermissionType.MediaVideoCapture
访问网络摄像头或其他视频源。此权限不是持久的。
QWebEnginePermission.PermissionType.MediaAudioVideoCapture
MediaAudioCapture 和 MediaVideoCapture 的组合。此权限不是持久的。
QWebEnginePermission.PermissionType.DesktopVideoCapture
访问用户屏幕内容。此权限不是持久的。
QWebEnginePermission.PermissionType.DesktopAudioVideoCapture
访问用户屏幕内容和应用程序音频。此权限不是持久的。
QWebEnginePermission.PermissionType.MouseLock
将指针锁定在网页上的元素内。此权限不是持久的。
QWebEnginePermission.PermissionType.Notifications
允许网站向用户发送通知。此权限是持久的。
QWebEnginePermission.PermissionType.Geolocation
访问用户的物理位置。此权限是持久的。
QWebEnginePermission.PermissionType.ClipboardReadWrite
访问用户的剪贴板。此权限是持久的。
QWebEnginePermission.PermissionType.LocalFontsAccess
访问用户机器上安装的字体。仅在桌面上可用。此权限是持久的。
QWebEnginePermission.PermissionType.Unsupported
不支持的权限类型。
注意
非持久性权限类型是指底层存储永远不会记住的权限类型,每次网站尝试使用它们时都会触发权限请求。
- class State¶
此枚举类型保存请求权限的当前状态:
常量
描述
QWebEnginePermission.State.Invalid
对象处于无效状态,任何尝试修改所描述的权限都将失败。
QWebEnginePermission.State.Ask
权限之前未被请求过,或者
permissionType()
不是持久的。QWebEnginePermission.State.Granted
权限已被授予。
QWebEnginePermission.State.Denied
权限已被拒绝。
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property isValidᅟ: bool¶
此属性指示尝试更改权限状态是否将成功。
无效的
QWebEnginePermission
可能是以下情况之一:一个其
permissionType()
不受支持的;一个其
origin()
无效的;关联的配置文件已被销毁的用户
另请参阅
- Access functions:
此属性保存权限关联源的URL。
网站源是其方案、主机名和端口的组合。权限是基于每个源授予的;因此,如果网页
https://www.example.com:12345/some/page.html
请求权限,它将被授予源https://www.example.com:12345/
。- Access functions:
- property permissionTypeᅟ: QWebEnginePermission.PermissionType¶
此属性保存与此权限关联的权限类型。
- Access functions:
- property stateᅟ: QWebEnginePermission.State¶
此属性保存权限的当前状态。
如果已经授予或拒绝了指定的
permissionType()
和origin()
的权限,则返回值分别为Granted
或Denied
。当这是第一次请求权限时,返回值为Ask
。如果对象处于无效状态,则返回值为Invalid
。另请参阅
- Access functions:
- __init__()¶
- __init__(other)
- Parameters:
其他 –
QWebEnginePermission
- deny()¶
阻止关联的来源访问请求的
permissionType
。当isValid()
评估为false时,不执行任何操作。- grant()¶
允许关联的来源访问请求的
permissionType
。当isValid()
评估为false时,不执行任何操作。- static isPersistent(permissionType)¶
- Parameters:
permissionType –
PermissionType
- Return type:
布尔
返回一个
permissionType
是否是持久的,这意味着权限的状态将被记住,并且下次网站请求相同权限时不会再次询问用户。- isValid()¶
- Return type:
布尔
属性
isValidᅟ
的获取器。- __ne__(rhs)¶
- Parameters:
rhs –
QWebEnginePermission
- Return type:
布尔
- __eq__(rhs)¶
- Parameters:
rhs –
QWebEnginePermission
- Return type:
布尔
属性
originᅟ
的获取器。- permissionType()¶
- Return type:
属性
permissionTypeᅟ
的获取器。- reset()¶
从配置文件的底层存储中移除权限。默认情况下,权限存储在磁盘上(除了非记录配置文件,其中权限存储在内存中并随配置文件销毁)。这意味着已经授予/拒绝的权限不会被再次请求,但每次网站请求时都会自动授予/拒绝。调用reset()允许在下一次网站请求时再次显示查询。
当
isValid()
评估为false时,不执行任何操作。属性
stateᅟ
的获取器。- swap(other)¶
- Parameters:
其他 –
QWebEnginePermission