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 }

Öffentliche Funktionen

QWebEngineScript()
QWebEngineScript(const QWebEngineScript &other)
~QWebEngineScript()
QWebEngineScript::InjectionPoint injectionPoint() const
QString name() const
bool runsOnSubFrames() const
void setInjectionPoint(QWebEngineScript::InjectionPoint p)
void setName(const QString &scriptName)
void setRunsOnSubFrames(bool on)
void setSourceCode(const QString &scriptSource)
void setSourceUrl(const QUrl &url)
void setWorldId(quint32 id)
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 seit Qt 5.8 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:

KonstanteWertBeschreibung
QWebEngineScript::DocumentCreation2Das Skript wird ausgeführt, sobald das Dokument erstellt wird. Dies ist für keine DOM-Operation geeignet.
QWebEngineScript::DocumentReady1Das Skript wird ausgeführt, sobald das DOM bereit ist. Dies entspricht dem Auslösen des Ereignisses DOMContentLoaded in JavaScript.
QWebEngineScript::Deferred0Das 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:

KonstanteWertBeschreibung
QWebEngineScript::MainWorld0Die 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::ApplicationWorld1Die isolierte Standardwelt, die für in JavaScript implementierte Funktionen auf Anwendungsebene verwendet wird.
QWebEngineScript::UserWorld2Die 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 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.

QWebEngineScript::InjectionPoint QWebEngineScript::injectionPoint() const

Gibt den Punkt im Ladevorgang zurück, an dem das Skript ausgeführt werden soll. Der Standardwert ist QWebEngineScript::Deferred.

Hinweis: Getter-Funktion für die Eigenschaft injectionPoint.

Siehe auch setInjectionPoint().

QString QWebEngineScript::name() const

Gibt den Namen des Skripts zurück. Kann nützlich sein, um ein bestimmtes Skript aus einer QWebEngineScriptCollection abzurufen.

Hinweis: Getter-Funktion für die Eigenschaft name.

Siehe auch setName() und QWebEngineScriptCollection::find().

bool QWebEngineScript::runsOnSubFrames() const

Gibt true zurück, wenn das Skript in jedem Frame der Seite ausgeführt wird, oder false, wenn es nur für den Hauptframe ausgeführt wird.

Hinweis: Getter-Funktion für die Eigenschaft runsOnSubFrames.

Siehe auch setRunsOnSubFrames().

void QWebEngineScript::setInjectionPoint(QWebEngineScript::InjectionPoint p)

Legt den Punkt fest, an dem das Skript ausgeführt werden soll p.

Hinweis: Setter-Funktion für die Eigenschaft injectionPoint.

Siehe auch injectionPoint() und InjectionPoint.

void QWebEngineScript::setName(const QString &scriptName)

Setzt den Skriptnamen auf scriptName.

Hinweis: Setter-Funktion für die Eigenschaft name.

Siehe auch name().

void QWebEngineScript::setRunsOnSubFrames(bool on)

Führt das Skript zusätzlich zum Hauptrahmen auf Unterrahmen aus, wenn on true zurückgibt.

Hinweis: Setter-Funktion für die Eigenschaft runsOnSubFrames.

Siehe auch runsOnSubFrames().

void QWebEngineScript::setSourceCode(const QString &scriptSource)

Setzt die Skriptquelle auf scriptSource.

Hinweis: Setter-Funktion für die Eigenschaft sourceCode.

Siehe auch sourceCode().

void QWebEngineScript::setSourceUrl(const QUrl &url)

Setzt den entfernten Quellort des Benutzerskripts auf url.

Im Gegensatz zu setSourceCode() kann mit dieser Funktion 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.

Hinweis: Setter-Funktion für die Eigenschaft sourceUrl.

Siehe auch sourceUrl() und setSourceCode().

void QWebEngineScript::setWorldId(quint32 id)

Setzt die Welt-ID der isolierten Welt auf id, wenn dieses Skript ausgeführt wird.

Muss zwischen 0 und 256 liegen.

Hinweis: Setter-Funktion für die Eigenschaft worldId.

Siehe auch worldId().

QString QWebEngineScript::sourceCode() const

Gibt die Quelle des Skripts zurück.

Hinweis: Getter-Funktion für die Eigenschaft sourceCode.

Siehe auch setSourceCode().

QUrl QWebEngineScript::sourceUrl() const

Gibt den entfernten Quellort des Benutzerskripts zurück (falls vorhanden).

Hinweis: Getter-Funktion für die Eigenschaft sourceUrl.

Siehe auch setSourceUrl().

[noexcept] void QWebEngineScript::swap(QWebEngineScript &other)

Tauscht den Inhalt des Skripts mit dem Inhalt von other aus.

quint32 QWebEngineScript::worldId() const

Gibt die Welt-ID zurück, die definiert, in welcher Welt das Skript ausgeführt wird.

Hinweis: Getter-Funktion für die Eigenschaft worldId.

Siehe auch setWorldId().

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.

© 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.