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::DocumentCreation | 2 | スクリプトは、ドキュメントが作成されるとすぐに実行されます。これは DOM 操作には適していません。 |
QWebEngineScript::DocumentReady | 1 | スクリプトは DOM の準備ができ次第実行されます。これは、JavaScriptでDOMContentLoaded イベントが発生するのと同じです。 |
QWebEngineScript::Deferred | 0 | スクリプトは、ページの読み込みが終わるか、ドキュメントが準備できてから500ms後のどちらか早い時点で実行されます。 |
enum QWebEngineScript::ScriptWorldId
この列挙型は、ユーザースクリプトを異なるワールドに分離するための、あらかじめ定義されたワールドIDを提供する:
| 定数 | 値 | 説明 |
|---|---|---|
QWebEngineScript::MainWorld | 0 | ページのウェブコンテンツが使用するワールド。特定のシナリオでウェブコンテンツにカスタム機能を公開するために有用です。 |
QWebEngineScript::ApplicationWorld | 1 | JavaScriptで実装されたアプリケーションレベルの機能に使用されるデフォルトの隔離された世界。 |
QWebEngineScript::UserWorld | 2 | アプリケーションがより多くのワールドを使用しない場合、ユーザーによって設定されたスクリプトによって使用される最初の隔離されたワールドです。経験則として、もしその機能がアプリケーションのユーザーに公開されるのであれば、個々のスクリプトはそれ自身の隔離された世界を持つべきでしょう。 |
プロパティ・ドキュメント
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.