このページでは

QWebEngineScript Class

QWebEngineScript クラスは JavaScript プログラムをカプセル化します。詳細...

ヘッダー #include <QWebEngineScript>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake QT += webenginecore
QMLで: webEngineScript

パブリックな型

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

プロパティ

パブリック機能

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

詳細説明

QWebEngineScript は、ウェブコンテンツのロード中に、injectionPoint() によって決定されるさまざまなポイントで、JavaScript エンジンにユーザースクリプトと呼ばれるものをプログラムで注入できるようにします。

スクリプトは、ウェブコンテンツから来る残りの JavaScript と一緒にメインの JavaScript の世界で実行することも、独自の分離された世界で実行することもできます。ページの DOM はどのワールドからもアクセスできますが、あるワールドで定義された関数の JavaScript 変数は、別のワールドからはアクセスできません。ScriptWorldId は、この目的のためにいくつかの定義済み ID を提供します。

以下のGreasemonkey属性がサポートされています:@exclude @include@name@match 、および@run-at

QWebEnginePage::scripts() およびQWebEngineProfile::scripts() を使用して、単一のページまたは同じプロファイルを共有する複数のページに関連付けられたスクリプトのコレクションにアクセスします。

スクリプト・インジェクションも参照してください

メンバ型のドキュメント

enum QWebEngineScript::InjectionPoint

この列挙型は、スクリプト注入のタイミングを記述する:

定数説明
QWebEngineScript::DocumentCreation2スクリプトは、ドキュメントが作成されるとすぐに実行されます。これは DOM 操作には適していません。
QWebEngineScript::DocumentReady1スクリプトは DOM の準備ができ次第実行されます。これは、JavaScriptでDOMContentLoaded イベントが発生するのと同じです。
QWebEngineScript::Deferred0スクリプトは、ページの読み込みが終わるか、ドキュメントが準備できてから500ms後のどちらか早い時点で実行されます。

enum QWebEngineScript::ScriptWorldId

この列挙型は、ユーザースクリプトを異なるワールドに分離するための、あらかじめ定義されたワールドIDを提供する:

定数説明
QWebEngineScript::MainWorld0ページのウェブコンテンツが使用するワールド。特定のシナリオでウェブコンテンツにカスタム機能を公開するために有用です。
QWebEngineScript::ApplicationWorld1JavaScriptで実装されたアプリケーションレベルの機能に使用されるデフォルトの隔離された世界。
QWebEngineScript::UserWorld2アプリケーションがより多くのワールドを使用しない場合、ユーザーによって設定されたスクリプトによって使用される最初の隔離されたワールドです。経験則として、もしその機能がアプリケーションのユーザーに公開されるのであれば、個々のスクリプトはそれ自身の隔離された世界を持つべきでしょう。

プロパティ・ドキュメント

injectionPoint : InjectionPoint

このプロパティは、スクリプトが実行されるロードプロセスのポイントを保持する。

デフォルト値はQWebEngineScript::Deferred です。

アクセス関数です:

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

InjectionPointも参照してください

name : QString

このプロパティはスクリプトの名前を保持する。

QWebEngineScriptCollection から特定のスクリプトを取り出すのに便利です。

関数にアクセスします:

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

QWebEngineScriptCollection::find()も参照

runsOnSubFrames : bool

このプロパティは、スクリプトがページ内のすべてのフレームで実行されるか、メインフレームでのみ実行されるかを保持します。

アクセス関数です:

bool runsOnSubFrames() const
void setRunsOnSubFrames(bool on)

sourceCode : QString

このプロパティは、スクリプトのソースを保持します。

アクセス関数です:

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

sourceUrl : QUrl

このプロパティは、ユーザ・スクリプトのリモート・ソースの場所を保持する(ある場 合)。

setSourceCode() と異なり、このプロパティを設定すると、ディスクに保存されている場合など、すでにメモリにロードされていないユーザ・スクリプトを参照できるようになる。

この値を設定すると、スクリプトのsourceCode が変更されます。

注釈 現時点では、ファイル・ベースのソースにのみ対応しています。

アクセス関数:

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

sourceCodeも参照してください

worldId : quint32

このプロパティは、スクリプトがどのワールドで実行されるかを定義するワールド ID を保持する。

0 から256 の間でなければなりません。

関数にアクセスします:

quint32 worldId() const
void setWorldId(quint32)

メンバ関数ドキュメント

QWebEngineScript::QWebEngineScript()

ヌル・スクリプトを構築します。

QWebEngineScript::QWebEngineScript(const QWebEngineScript &other)

other の内容を使ってユーザースクリプトを構築する。

[noexcept] QWebEngineScript::~QWebEngineScript()

台本を破壊する。

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

スクリプトの内容とother の内容を入れ替える。

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

スクリプトがother と等しくなければtrue を返し、そうでなければfalse を返す。

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

other をスクリプトに割り当てる。

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

スクリプトがother と等しい場合はtrue を返し、そうでない場合は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.