webEnginePermission QML Value Type
Ein Objekt, das verwendet wird, um auf den Status einer einzelnen Erlaubnis zuzugreifen und diesen zu ändern, die für eine bestimmte Ursprungs-URL erteilt oder verweigert wurde. Mehr...
Import Statement: | import QtWebEngine |
Since: | Qt 6.8 |
In C++: | QWebEnginePermission |
Eigenschaften
- isValid : bool
- origin : url
- permissionType : enumeration
- state : enumeration
Methoden
- void deny()
- void grant()
- void isPersistent(WebEnginePermission.PermissionType permissionType)
- void reset()
Detaillierte Beschreibung
Das typische Nutzungsmuster ist wie folgt:
- Eine Website fordert eine bestimmte Funktion an und löst damit das Signal WebEngineView::permissionRequested aus;
- Der Signalhandler löst eine Eingabeaufforderung aus, in der der Benutzer gefragt wird, ob er die Erlaubnis erteilen möchte;
- Wenn der Benutzer seine Entscheidung getroffen hat, ruft die Anwendung grant() oder deny() auf;
Alternativ kann eine Anwendung, die an der Änderung bereits erteilter Berechtigungen interessiert ist, WebEngineProfile::listAllPermissions() verwenden, um eine Liste der mit einem Profil verbundenen bestehenden Berechtigungen zu erhalten, oder WebEngineProfile::queryPermission(), um ein webEnginePermission-Objekt für eine bestimmte Berechtigung zu erhalten.
Mit der Eigenschaft origin kann abgefragt werden, welcher Herkunft die webEnginePermission zugeordnet ist, während die Eigenschaft permissionType das zugehörige Feature beschreibt. Der Ursprung einer Website ist die Kombination aus Schema, Hostname und Port. Berechtigungen werden pro Ursprung gewährt; wenn also die Webseite https://www.example.com:12345/some/page.html
eine Berechtigung anfordert, wird sie dem Ursprung https://www.example.com:12345/
gewährt.
Die Aufzählung permissionType beschreibt alle Berechtigungstypen, die Qt WebEngine unterstützt. Nur einige Berechtigungstypen werden zwischen Browsing-Sitzungen gespeichert; sie sind persistent. Nicht-persistente Berechtigungen fragen den Benutzer jedes Mal ab, wenn eine Website sie anfordert. Sie können überprüfen, ob ein Berechtigungstyp zur Laufzeit persistent ist, indem Sie die statische Methode WebEnginePermission::isPersistent() verwenden.
Persistente Berechtigungen werden innerhalb des aktiven WebEngineProfile gespeichert, und ihre Lebensdauer hängt vom Wert von WebEngineProfile::persistentPermissionsPolicy ab. Standardmäßig speichern benannte Profile ihre Berechtigungen auf der Festplatte, wohingegen Off-the-Record-Profile sie im Speicher speichern (und zerstören sie, wenn das Profil zerstört wird). Eine gespeicherte Berechtigung wird nicht abgefragt, wenn eine Website sie das nächste Mal anfordert; stattdessen wird sie automatisch gewährt oder verweigert, je nachdem, welche Auflösung der Benutzer ursprünglich gewählt hat. Um eine gespeicherte Berechtigung zu löschen, rufen Sie reset() auf.
Eine nicht-persistente Berechtigung hingegen ist nur so lange nutzbar, bis die zugehörige WebEngineView eine Navigation zu einer anderen URL durchführt oder zerstört wird.
Sie können überprüfen, ob eine WebEnginePermission in einem gültigen Zustand ist, indem Sie ihre isValid Eigenschaft verwenden. Bei ungültigen Objekten führen Aufrufe von grant(), deny() oder reset() zu nichts, während Aufrufe von state immer WebEnginePermission::Invalid zurückgeben.
Siehe auch WebEngineView::permissionRequested, WebEngineProfile::queryPermission(), und WebEngineProfile::listAllPermissions().
Eigenschaft Dokumentation
isValid : bool |
Gibt an, ob Versuche, den Status der Berechtigung zu ändern, erfolgreich sein werden.
Eine ungültige webEnginePermission ist entweder:
- Eine, deren permissionType nicht unterstützt wird;
- eine, deren permissionType nicht beständig ist und der Benutzer von der Webseite, die die Anfrage ausgelöst hat, weggefahren ist;
- Eine, deren permissionType persistent ist, aber das zugehörige Profil wurde zerstört;
- Eine, deren origin ungültig ist.
Siehe auch isPersistent.
origin : url |
Die URL des mit der Berechtigung verbundenen Ursprungs.
Der Ursprung einer Website ist die Kombination aus Schema, Hostname und Port. Berechtigungen werden pro Ursprung gewährt; wenn also die Webseite https://www.example.com:12345/some/page.html
eine Berechtigung anfordert, wird sie für den Ursprung https://www.example.com:12345/
gewährt.
permissionType : enumeration |
Der mit dieser Berechtigung verbundene Berechtigungstyp.
Konstante | Beschreibung |
---|---|
WebEnginePermission.MediaAudioCapture | Zugriff auf ein Mikrofon oder eine andere Audioquelle. Diese Berechtigung ist nicht beständig. |
WebEnginePermission.MediaVideoCapture | Zugriff auf eine Webcam oder eine andere Videoquelle. Diese Berechtigung ist nicht dauerhaft. |
WebEnginePermission.MediaAudioVideoCapture | Kombination von MediaAudioCapture und MediaVideoCapture. Diese Berechtigung ist nicht beständig. |
WebEnginePermission.DesktopVideoCapture | Zugriff auf den Inhalt des Bildschirms des Benutzers. Diese Berechtigung ist nicht dauerhaft. |
WebEnginePermission.DesktopAudioVideoCapture | Zugriff auf den Inhalt des Benutzerbildschirms und den Ton der Anwendung. Diese Berechtigung ist nicht dauerhaft. |
WebEnginePermission.Notifications | Erlaubt der Website, Benachrichtigungen an den Benutzer zu senden. Diese Berechtigung ist dauerhaft. |
WebEnginePermission.Geolocation | Zugriff auf den physischen Standort des Benutzers. Diese Berechtigung ist dauerhaft. |
WebEnginePermission.ClipboardReadWrite | Zugriff auf die Zwischenablage des Benutzers. Diese Berechtigung ist dauerhaft. |
WebEnginePermission.LocalFontsAccess | Zugriff auf die auf dem Rechner des Benutzers installierten Schriftarten. Nur auf Desktops verfügbar. Diese Berechtigung ist dauerhaft. |
WebEnginePermission.Unsupported | Ein nicht unterstützter Funktionstyp. |
Hinweis: Nicht persistente Berechtigungstypen werden vom zugrunde liegenden Speicher nie gespeichert und lösen jedes Mal eine Berechtigungsanfrage aus, wenn eine Website versucht, sie zu verwenden.
state : enumeration |
Der aktuelle Status der Berechtigung.
Konstante | Beschreibung |
---|---|
WebEnginePermission.Invalid | Das Objekt befindet sich in einem ungültigen Zustand, und alle Versuche, die beschriebene Berechtigung zu ändern, schlagen fehl. |
WebEnginePermission.Ask | Entweder wurde die Berechtigung noch nie angefordert, oder die permissionType ist nicht beständig. |
WebEnginePermission.Granted | Die Berechtigung wurde bereits erteilt. |
WebEnginePermission.Denied | Die Berechtigung wurde bereits verweigert. |
Wenn eine Berechtigung für die angegebenen permissionType und origin bereits erteilt oder verweigert wurde, lautet der Rückgabewert WebEnginePermission.Granted bzw. WebEnginePermission.Denied. Wenn die Berechtigung zum ersten Mal angefordert wird, lautet der Rückgabewert WebEnginePermission.Ask. Wenn sich das Objekt in einem ungültigen Zustand befindet, lautet der Rückgabewert WebEnginePermission.Invalid.
Siehe auch isValid und isPersistent.
Dokumentation der Methode
void deny() |
void grant() |
void isPersistent(WebEnginePermission.PermissionType permissionType) |
Gibt zurück, ob permissionType dauerhaft ist, d. h., dass der Status einer Berechtigung gespeichert wird und der Benutzer bei der nächsten Anforderung derselben Berechtigung durch die Website nicht mehr abgefragt wird.
void reset() |
Entfernt die Berechtigung aus dem zugrunde liegenden Speicher des Profils. Standardmäßig werden Berechtigungen auf der Festplatte gespeichert (außer bei Off-the-Record-Profilen, bei denen die Berechtigungen im Speicher abgelegt und mit dem Profil gelöscht werden). Das bedeutet, dass eine bereits erteilte/verweigerte Berechtigung nicht zweimal angefordert wird, sondern jedes Mal, wenn eine Website sie anfordert, automatisch erteilt/verweigert wird. Durch den Aufruf von reset() kann die Abfrage bei der nächsten Anforderung durch die Website wieder angezeigt werden.
Führt zu nichts, wenn isValid zu false ausgewertet wird.
Siehe auch grant, deny, isValid, und WebEngineProfile::persistentPermissionsPolicy.
© 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.