Sur cette page

QWebEngineScript Class

La classe QWebEngineScript encapsule un programme JavaScript. Plus d'informations...

En-tête : #include <QWebEngineScript>
CMake : find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake : QT += webenginecore
En QML : webEngineScript

Types publics

enum InjectionPoint { DocumentCreation, DocumentReady, Deferred }
enum ScriptWorldId { MainWorld, ApplicationWorld, UserWorld }

Propriétés

Fonctions publiques

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

Description détaillée

QWebEngineScript permet l'injection programmatique de ce que l'on appelle des scripts utilisateur dans le moteur JavaScript à différents points, déterminés par injectionPoint(), pendant le chargement des contenus web.

Les scripts peuvent être exécutés soit dans le monde JavaScript principal, avec le reste du JavaScript provenant du contenu web, soit dans leur propre monde isolé. Alors que le DOM de la page est accessible depuis n'importe quel monde, les variables JavaScript d'une fonction définie dans un monde ne sont pas accessibles depuis un autre monde. ScriptWorldId fournit des identifiants prédéfinis à cet effet.

Les attributs Greasemonkey suivants sont pris en charge : @exclude, @include, @name, @match, et @run-at.

Utilisez QWebEnginePage::scripts() et QWebEngineProfile::scripts() pour accéder à la collection de scripts associés à une seule page ou à un certain nombre de pages partageant le même profil.

Voir aussi Injection de scripts.

Documentation sur les types de membres

enum QWebEngineScript::InjectionPoint

Cette énumération décrit le moment de l'injection du script :

ConstanteValeurDescription
QWebEngineScript::DocumentCreation2Le script sera exécuté dès la création du document. Ceci n'est pas approprié pour les opérations du DOM.
QWebEngineScript::DocumentReady1Le script sera exécuté dès que le DOM sera prêt. Cela équivaut au déclenchement de l'événement DOMContentLoaded en JavaScript.
QWebEngineScript::Deferred0Le script sera exécuté à la fin du chargement de la page ou 500 ms après que le document est prêt, selon ce qui se produit en premier.

enum QWebEngineScript::ScriptWorldId

Cette énumération fournit des identifiants de monde prédéfinis permettant d'isoler les scripts utilisateur dans différents mondes :

ConstanteValeurDescription
QWebEngineScript::MainWorld0Le monde utilisé par le contenu web de la page. Il peut être utile pour exposer des fonctionnalités personnalisées aux contenus web dans certains scénarios.
QWebEngineScript::ApplicationWorld1Le monde isolé par défaut utilisé pour les fonctionnalités au niveau de l'application mises en œuvre en JavaScript.
QWebEngineScript::UserWorld2Le premier monde isolé utilisé par les scripts définis par les utilisateurs si l'application n'utilise pas d'autres mondes. En règle générale, si cette fonctionnalité est exposée aux utilisateurs de l'application, chaque script individuel devrait probablement avoir son propre monde isolé.

Documentation sur les propriétés

injectionPoint : InjectionPoint

Cette propriété indique le point du processus de chargement où le script sera exécuté.

La valeur par défaut est QWebEngineScript::Deferred.

Fonctions d'accès :

QWebEngineScript::InjectionPoint injectionPoint() const
void setInjectionPoint(QWebEngineScript::InjectionPoint)

Voir également InjectionPoint.

name : QString

Cette propriété contient le nom du script.

Elle peut être utile pour récupérer un script particulier à partir d'un site QWebEngineScriptCollection.

Fonctions d'accès :

QString name() const
void setName(const QString &)

Voir également QWebEngineScriptCollection::find().

runsOnSubFrames : bool

Cette propriété indique si le script est exécuté sur chaque cadre de la page ou uniquement sur le cadre principal.

Fonctions d'accès :

bool runsOnSubFrames() const
void setRunsOnSubFrames(bool on)

sourceCode : QString

Cette propriété contient la source du script.

Fonctions d'accès :

QString sourceCode() const
void setSourceCode(const QString &)

sourceUrl : QUrl

Cette propriété contient l'emplacement de la source distante du script utilisateur (le cas échéant).

Contrairement à setSourceCode(), la définition de cette propriété permet de faire référence à des scripts utilisateur qui ne sont pas déjà chargés en mémoire, par exemple lorsqu'ils sont stockés sur le disque.

La définition de cette valeur modifie l'adresse sourceCode du script.

Remarque : à l'heure actuelle, seules les sources basées sur des fichiers sont prises en charge.

Fonctions d'accès :

QUrl sourceUrl() const
void setSourceUrl(const QUrl &url)

Voir également sourceCode.

worldId : quint32

Cette propriété contient l'identifiant du monde définissant le monde dans lequel le script est exécuté.

Doit être compris entre 0 et 256.

Fonctions d'accès :

quint32 worldId() const
void setWorldId(quint32)

Documentation des fonctions membres

QWebEngineScript::QWebEngineScript()

Construit un script nul.

QWebEngineScript::QWebEngineScript(const QWebEngineScript &other)

Construit un script utilisateur en utilisant le contenu de other.

[noexcept] QWebEngineScript::~QWebEngineScript()

Détruit un script.

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

Remplace le contenu du script par le contenu de other.

bool QWebEngineScript::operator!=(const QWebEngineScript &other) const

Renvoie true si le script n'est pas égal à other, sinon renvoie false.

QWebEngineScript &QWebEngineScript::operator=(const QWebEngineScript &other)

Affecte other au script.

bool QWebEngineScript::operator==(const QWebEngineScript &other) const

Renvoie true si le script est égal à other, sinon renvoie false.

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