QWebEnginePermission Class
Eine QWebEnginePermission ist ein Objekt, das verwendet wird, um auf den Status einer einzelnen Berechtigung zuzugreifen und diesen zu ändern, die einer bestimmten Ursprungs-URL gewährt oder verweigert wurde. Mehr...
Kopfzeile: | #include <QWebEnginePermission> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
qmake: | QT += webenginecore |
Seit: | Qt 6.8 |
In QML: | webEnginePermission |
Öffentliche Typen
enum class | PermissionType { MediaAudioCapture, MediaVideoCapture, MediaAudioVideoCapture, DesktopVideoCapture, DesktopAudioVideoCapture, …, Unsupported } |
enum class | State { Invalid, Ask, Granted, Denied } |
Eigenschaften
- isValid : const bool
- origin : const QUrl
- permissionType : const PermissionType
- state : const State
Öffentliche Funktionen
void | deny() const |
void | grant() const |
bool | isValid() const |
QUrl | origin() const |
QWebEnginePermission::PermissionType | permissionType() const |
void | reset() const |
QWebEnginePermission::State | state() const |
Statische öffentliche Mitglieder
bool | isPersistent(QWebEnginePermission::PermissionType permissionType) |
Detaillierte Beschreibung
Das typische Verwendungsmuster ist wie folgt:
- Eine Website fordert eine bestimmte Erlaubnis an und löst damit das Signal QWebEnginePage::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 daran interessiert ist, bereits erteilte Berechtigungen zu ändern, QWebEngineProfile::listAllPermissions() verwenden, um eine Liste der bestehenden, mit einem Profil verbundenen Berechtigungen zu erhalten, oder QWebEngineProfile::queryPermission(), um ein QWebEnginePermission-Objekt für eine bestimmte Berechtigung zu erhalten.
Die Eigenschaft origin() kann verwendet werden, um abzufragen, mit welchem Ursprung die QWebEnginePermission verbunden ist, während die Eigenschaft permissionType() den Typ der angeforderten Berechtigung 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 für den Ursprung https://www.example.com:12345/
gewährt.
QWebEnginePermission::PermissionType beschreibt alle Berechtigungstypen, die Qt WebEngine unterstützt. Nur einige Berechtigungstypen werden zwischen Browsing-Sitzungen gespeichert; sie sind persistent. Nicht-persistente Berechtigungen werden jedes Mal abgefragt, wenn eine Website sie anfordert. Sie können mit der statischen Methode QWebEnginePermission::isPersistent() überprüfen, ob ein Berechtigungstyp zur Laufzeit persistent ist.
Dauerhafte Berechtigungen werden innerhalb des aktiven QWebEngineProfile gespeichert, und ihre Lebensdauer hängt vom Wert von QWebEngineProfile::persistentPermissionsPolicy() ab. Standardmäßig speichern benannte Profile ihre Berechtigungen auf der Festplatte, wohingegen nicht benannte Profile sie im Speicher speichern (und beim Löschen des Profils zerstören). 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 verwendbar, bis die zugehörige QWebEnginePage eine Navigation zu einer anderen URL durchführt oder zerstört wird.
Sie können überprüfen, ob eine QWebEnginePermission 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 QWebEnginePermission::Invalid zurückgeben.
Siehe auch QWebEnginePage::permissionRequested(), QWebEngineProfile::queryPermission(), und QWebEngineProfile::listAllPermissions().
Dokumentation der Mitgliedstypen
enum class QWebEnginePermission::PermissionType
Dieser Enum-Typ enthält den Typ der angeforderten Berechtigung:
Konstante | Wert | Beschreibung |
---|---|---|
QWebEnginePermission::PermissionType::MediaAudioCapture | 1 | Zugriff auf ein Mikrofon oder eine andere Audioquelle. Diese Berechtigung ist nicht beständig. |
QWebEnginePermission::PermissionType::MediaVideoCapture | 2 | Zugriff auf eine Webcam oder eine andere Videoquelle. Diese Berechtigung ist nicht dauerhaft. |
QWebEnginePermission::PermissionType::MediaAudioVideoCapture | 3 | Kombination von MediaAudioCapture und MediaVideoCapture. Diese Berechtigung ist nicht beständig. |
QWebEnginePermission::PermissionType::DesktopVideoCapture | 4 | Zugriff auf den Inhalt des Bildschirms des Benutzers. Diese Berechtigung ist nicht dauerhaft. |
QWebEnginePermission::PermissionType::DesktopAudioVideoCapture | 5 | Zugriff auf den Inhalt des Benutzerbildschirms und den Ton der Anwendung. Diese Berechtigung ist nicht dauerhaft. |
QWebEnginePermission::PermissionType::MouseLock | 6 | Sperrt den Zeiger innerhalb eines Elements auf der Webseite. Diese Berechtigung ist nicht dauerhaft. |
QWebEnginePermission::PermissionType::Notifications | 7 | Erlaubt der Webseite, Benachrichtigungen an den Benutzer zu senden. Diese Berechtigung ist dauerhaft. |
QWebEnginePermission::PermissionType::Geolocation | 8 | Zugriff auf den physischen Standort des Benutzers. Diese Berechtigung ist dauerhaft. |
QWebEnginePermission::PermissionType::ClipboardReadWrite | 9 | Zugriff auf die Zwischenablage des Benutzers. Diese Berechtigung ist dauerhaft. |
QWebEnginePermission::PermissionType::LocalFontsAccess | 10 | Zugriff auf die auf dem Rechner des Benutzers installierten Schriftarten. Nur auf Desktops verfügbar. Diese Berechtigung ist dauerhaft. |
QWebEnginePermission::PermissionType::Unsupported | 0 | Ein nicht unterstützter Berechtigungstyp. |
Hinweis: Nicht dauerhafte Berechtigungstypen werden vom zugrunde liegenden Speicher nicht gespeichert und lösen jedes Mal eine Berechtigungsanfrage aus, wenn eine Website versucht, sie zu verwenden.
enum class QWebEnginePermission::State
Dieser Enum-Typ enthält den aktuellen Status der angeforderten Erlaubnis:
Konstante | Wert | Beschreibung |
---|---|---|
QWebEnginePermission::State::Invalid | 0 | Das Objekt befindet sich in einem ungültigen Zustand, und alle Versuche, die beschriebene Berechtigung zu ändern, schlagen fehl. |
QWebEnginePermission::State::Ask | 1 | Entweder wurde die Erlaubnis noch nie angefordert, oder die permissionType() ist nicht beständig. |
QWebEnginePermission::State::Granted | 2 | Die Berechtigung wurde bereits erteilt. |
QWebEnginePermission::State::Denied | 3 | Die Berechtigung wurde bereits verweigert. |
Dokumentation der Eigenschaft
[read-only]
isValid : const bool
Gibt an, ob der Versuch, den Status der Berechtigung zu ändern, erfolgreich sein wird.
Eine ungültige QWebEnginePermission ist entweder:
- Eine, deren permissionType() nicht unterstützt wird;
- eines, dessen origin() ungültig ist;
- eines, dessen zugehöriges Profil zerstört wurde
Zugriffsfunktionen:
bool | isValid() const |
Siehe auch isPersistent().
[read-only]
origin : const QUrl
Diese Eigenschaft enthält 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 dem Ursprung https://www.example.com:12345/
gewährt.
Zugriffsfunktionen:
QUrl | origin() const |
[read-only]
permissionType : const PermissionType
Diese Eigenschaft enthält den mit dieser Berechtigung verbundenen Berechtigungstyp.
Zugriffsfunktionen:
QWebEnginePermission::PermissionType | permissionType() const |
[read-only]
state : const State
Diese Eigenschaft enthält den aktuellen Status der Erlaubnis.
Wenn eine Berechtigung für die angegebenen permissionType() und origin() bereits erteilt oder verweigert wurde, lautet der Rückgabewert QWebEnginePermission::Granted bzw. QWebEnginePermission::Denied. Wird die Berechtigung zum ersten Mal angefordert, lautet der Rückgabewert QWebEnginePermission::Ask. Befindet sich das Objekt in einem ungültigen Zustand, lautet der Rückgabewert QWebEnginePermission::Invalid.
Zugriffsfunktionen:
QWebEnginePermission::State | state() const |
Siehe auch isValid() und isPersistent().
Dokumentation der Mitgliedsfunktionen
[invokable]
void QWebEnginePermission::deny() const
Hält den zugehörigen Ursprung vom Zugriff auf die angeforderte permissionType ab. Führt nichts aus, wenn isValid() zu false ausgewertet wird.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch grant(), reset(), und isValid().
[invokable]
void QWebEnginePermission::grant() const
Erlaubt dem zugehörigen Ursprung den Zugriff auf die angeforderte permissionType. Führt nichts aus, wenn isValid() zu false ausgewertet wird.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch deny(), reset(), und isValid().
[static invokable]
bool QWebEnginePermission::isPersistent(QWebEnginePermission::PermissionType permissionType)
Gibt zurück, ob eine permissionType persistent 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.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable]
void QWebEnginePermission::reset() const
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 nichts aus, wenn isValid() zu false ausgewertet wird.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
Siehe auch grant(), deny(), isValid(), und QWebEngineProfile::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.