QWebEngineScript Class
Die Klasse QWebEngineScript kapselt ein JavaScript-Programm. Mehr...
| Kopfzeile: | #include <QWebEngineScript> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake: | QT += webenginecore |
| In QML: | webEngineScript |
Öffentliche Typen
| enum | InjectionPoint { DocumentCreation, DocumentReady, Deferred } |
| enum | ScriptWorldId { MainWorld, ApplicationWorld, UserWorld } |
Eigenschaften
|
|
Öffentliche Funktionen
| QWebEngineScript() | |
| QWebEngineScript(const QWebEngineScript &other) | |
| ~QWebEngineScript() | |
| QWebEngineScript::InjectionPoint | injectionPoint() const |
| QString | name() const |
| bool | runsOnSubFrames() const |
| void | setInjectionPoint(QWebEngineScript::InjectionPoint) |
| void | setName(const QString &) |
| void | setRunsOnSubFrames(bool on) |
| void | setSourceCode(const QString &) |
| void | setSourceUrl(const QUrl &url) |
| void | setWorldId(quint32) |
| QString | sourceCode() const |
| QUrl | sourceUrl() const |
| void | swap(QWebEngineScript &other) |
| quint32 | worldId() const |
| bool | operator!=(const QWebEngineScript &other) const |
| QWebEngineScript & | operator=(const QWebEngineScript &other) |
| bool | operator==(const QWebEngineScript &other) const |
Detaillierte Beschreibung
QWebEngineScript ermöglicht die programmatische Injektion von so genannten Benutzerskripten in die JavaScript-Engine an verschiedenen, durch injectionPoint() festgelegten Punkten während des Ladens von Webinhalten.
Skripte können entweder in der Haupt-JavaScript-Welt, zusammen mit dem restlichen JavaScript aus dem Webinhalt, oder in einer eigenen isolierten Welt ausgeführt werden. Während auf das DOM der Seite von jeder Welt aus zugegriffen werden kann, sind die JavaScript-Variablen einer Funktion, die in einer Welt definiert ist, nicht von einer anderen Welt aus zugänglich. ScriptWorldId bietet zu diesem Zweck einige vordefinierte IDs.
Die folgenden Greasemonkey-Attribute werden unterstützt: @exclude, @include, @name, @match, und @run-at.
Verwenden Sie QWebEnginePage::scripts() und QWebEngineProfile::scripts(), um auf die Sammlung von Skripten zuzugreifen, die mit einer einzelnen Seite oder einer Reihe von Seiten mit demselben Profil verbunden sind.
Siehe auch Script Injection.
Dokumentation der Mitgliedstypen
enum QWebEngineScript::InjectionPoint
Diese Aufzählung beschreibt den Zeitpunkt der Skriptinjektion:
| Konstante | Wert | Beschreibung |
|---|---|---|
QWebEngineScript::DocumentCreation | 2 | Das Skript wird ausgeführt, sobald das Dokument erstellt wird. Dies ist für keine DOM-Operation geeignet. |
QWebEngineScript::DocumentReady | 1 | Das Skript wird ausgeführt, sobald das DOM bereit ist. Dies entspricht dem Auslösen des Ereignisses DOMContentLoaded in JavaScript. |
QWebEngineScript::Deferred | 0 | Das Skript wird ausgeführt, wenn das Laden der Seite abgeschlossen ist, oder 500 ms nachdem das Dokument bereit ist, je nachdem, was zuerst eintritt. |
enum QWebEngineScript::ScriptWorldId
Diese Aufzählung bietet vordefinierte Welt-IDs, um Benutzerskripte in verschiedene Welten zu isolieren:
| Konstante | Wert | Beschreibung |
|---|---|---|
QWebEngineScript::MainWorld | 0 | Die Welt, die von den Web-Inhalten der Seite verwendet wird. Sie kann nützlich sein, um in bestimmten Szenarien benutzerdefinierte Funktionen für Webinhalte bereitzustellen. |
QWebEngineScript::ApplicationWorld | 1 | Die isolierte Standardwelt, die für in JavaScript implementierte Funktionen auf Anwendungsebene verwendet wird. |
QWebEngineScript::UserWorld | 2 | Die erste isolierte Welt, die von Skripten verwendet wird, die von den Benutzern festgelegt wurden, wenn die Anwendung nicht von weiteren Welten Gebrauch macht. Als Faustregel gilt, dass jedes einzelne Skript seine eigene isolierte Welt erhalten sollte, wenn diese Funktionalität für die Benutzer der Anwendung zugänglich ist. |
Dokumentation der Eigenschaft
injectionPoint : InjectionPoint
Diese Eigenschaft enthält den Punkt im Ladevorgang, an dem das Skript ausgeführt wird.
Der Standardwert ist QWebEngineScript::Deferred.
Zugriffsfunktionen:
| QWebEngineScript::InjectionPoint | injectionPoint() const |
| void | setInjectionPoint(QWebEngineScript::InjectionPoint) |
Siehe auch InjectionPoint.
name : QString
Diese Eigenschaft enthält den Namen des Skripts.
Sie kann nützlich sein, um ein bestimmtes Skript aus einer QWebEngineScriptCollection abzurufen.
Zugriffsfunktionen:
| QString | name() const |
| void | setName(const QString &) |
Siehe auch QWebEngineScriptCollection::find().
runsOnSubFrames : bool
Diese Eigenschaft legt fest, ob das Skript in jedem Frame der Seite oder nur im Hauptrahmen ausgeführt wird.
Zugriffsfunktionen:
| bool | runsOnSubFrames() const |
| void | setRunsOnSubFrames(bool on) |
sourceCode : QString
Diese Eigenschaft enthält die Quelle des Skripts.
Zugriffsfunktionen:
| QString | sourceCode() const |
| void | setSourceCode(const QString &) |
sourceUrl : QUrl
Diese Eigenschaft enthält den entfernten Quellort des Benutzerskripts (falls vorhanden).
Im Gegensatz zu setSourceCode() kann mit dieser Eigenschaft auf Benutzerskripte verwiesen werden, die noch nicht in den Speicher geladen sind, z. B. wenn sie auf der Festplatte gespeichert sind.
Wenn Sie diesen Wert setzen, ändert sich die sourceCode des Skripts.
Hinweis: Zurzeit werden nur dateibasierte Quellen unterstützt.
Zugriffsfunktionen:
| QUrl | sourceUrl() const |
| void | setSourceUrl(const QUrl &url) |
Siehe auch sourceCode.
worldId : quint32
Diese Eigenschaft enthält die Welt-ID, die angibt, in welcher Welt das Skript ausgeführt wird.
Sie muss zwischen 0 und 256 liegen.
Zugriffsfunktionen:
| quint32 | worldId() const |
| void | setWorldId(quint32) |
Dokumentation der Mitgliedsfunktionen
QWebEngineScript::QWebEngineScript()
Konstruiert ein Null-Skript.
QWebEngineScript::QWebEngineScript(const QWebEngineScript &other)
Konstruiert ein Benutzerskript mit dem Inhalt von other.
[noexcept] QWebEngineScript::~QWebEngineScript()
Zerstört ein Skript.
[noexcept] void QWebEngineScript::swap(QWebEngineScript &other)
Tauscht den Inhalt des Skripts mit dem Inhalt von other aus.
bool QWebEngineScript::operator!=(const QWebEngineScript &other) const
Gibt true zurück, wenn das Skript nicht gleich other ist, andernfalls gibt es false zurück.
QWebEngineScript &QWebEngineScript::operator=(const QWebEngineScript &other)
Weist dem Skript other zu.
bool QWebEngineScript::operator==(const QWebEngineScript &other) const
Gibt true zurück, wenn das Skript gleich other ist, andernfalls gibt es false zurück.
© 2026 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.