WebEngineScript QML Type

JavaScriptエンジンでスクリプトのプログラムインジェクションを有効にする。詳細...

Import Statement: import QtWebEngine
Since: QtWebEngine 1.1
In C++: QWebEngineScript

プロパティ

詳しい説明

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

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

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

ウェブビューに接続されたスクリプトのリストにアクセスするには、WebEngineScriptCollection を使用します。

プロパティ ドキュメント

injectionPoint : enumeration

スクリプトが実行されるロードプロセスのポイント。デフォルト値はDeferred です。

定数説明
WebEngineScript.DocumentCreationスクリプトは、ドキュメントが作成されるとすぐに実行されます。これは DOM 操作には適しません。
WebEngineScript.DocumentReadyスクリプトは DOM の準備ができ次第実行されます。これは JavaScript のDOMContentLoaded イベントと同じです。
WebEngineScript.Deferredスクリプトは、ページの読み込みが終了するか、 ドキュメントの準備が完了してから500ミリ秒後のどちらか早い時点で実行されます。

name : string

スクリプトの名前。WebEngineScriptCollection.find メソッドから特定のスクリプトを取得するのに便利です。


runsOnSubFrames : bool

スクリプトがページ内のすべてのフレームで実行される場合はこのプロパティをtrue に設定し、メインフレームでのみ実行される場合はfalse に設定します。デフォルト値はfalse です。


sourceCode : string

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

sourceUrlも参照してください


sourceUrl : url

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

このプロパティは、sourceCode とは異なり、ディスクに保存されている場合など、メモリにロードされていないユーザースクリプトを参照することができます。

このプロパティを設定すると、スクリプトのsourceCode が変更される。

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

sourceCodeも参照してください


worldId : enumeration

ワールドID スクリプトがどの隔離されたワールドで実行されるかを定義します。

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

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