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