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

Ö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:

  1. Eine Website fordert eine bestimmte Erlaubnis an und löst damit das Signal QWebEnginePage::permissionRequested() aus;
  2. Der Signalhandler löst eine Eingabeaufforderung aus, in der der Benutzer gefragt wird, ob er die Erlaubnis erteilen möchte;
  3. 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:

KonstanteWertBeschreibung
QWebEnginePermission::PermissionType::MediaAudioCapture1Zugriff auf ein Mikrofon oder eine andere Audioquelle. Diese Berechtigung ist nicht beständig.
QWebEnginePermission::PermissionType::MediaVideoCapture2Zugriff auf eine Webcam oder eine andere Videoquelle. Diese Berechtigung ist nicht dauerhaft.
QWebEnginePermission::PermissionType::MediaAudioVideoCapture3Kombination von MediaAudioCapture und MediaVideoCapture. Diese Berechtigung ist nicht beständig.
QWebEnginePermission::PermissionType::DesktopVideoCapture4Zugriff auf den Inhalt des Bildschirms des Benutzers. Diese Berechtigung ist nicht dauerhaft.
QWebEnginePermission::PermissionType::DesktopAudioVideoCapture5Zugriff auf den Inhalt des Benutzerbildschirms und den Ton der Anwendung. Diese Berechtigung ist nicht dauerhaft.
QWebEnginePermission::PermissionType::MouseLock6Sperrt den Zeiger innerhalb eines Elements auf der Webseite. Diese Berechtigung ist nicht dauerhaft.
QWebEnginePermission::PermissionType::Notifications7Erlaubt der Webseite, Benachrichtigungen an den Benutzer zu senden. Diese Berechtigung ist dauerhaft.
QWebEnginePermission::PermissionType::Geolocation8Zugriff auf den physischen Standort des Benutzers. Diese Berechtigung ist dauerhaft.
QWebEnginePermission::PermissionType::ClipboardReadWrite9Zugriff auf die Zwischenablage des Benutzers. Diese Berechtigung ist dauerhaft.
QWebEnginePermission::PermissionType::LocalFontsAccess10Zugriff auf die auf dem Rechner des Benutzers installierten Schriftarten. Nur auf Desktops verfügbar. Diese Berechtigung ist dauerhaft.
QWebEnginePermission::PermissionType::Unsupported0Ein 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:

KonstanteWertBeschreibung
QWebEnginePermission::State::Invalid0Das Objekt befindet sich in einem ungültigen Zustand, und alle Versuche, die beschriebene Berechtigung zu ändern, schlagen fehl.
QWebEnginePermission::State::Ask1Entweder wurde die Erlaubnis noch nie angefordert, oder die permissionType() ist nicht beständig.
QWebEnginePermission::State::Granted2Die Berechtigung wurde bereits erteilt.
QWebEnginePermission::State::Denied3Die 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.