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アプリケーションがより多くのワールドを使用しない場合、ユーザーによって設定されたスクリプトによって使用される最初の隔離されたワールドです。経験則として、その機能がアプリケーションのユーザーに公開されている場合、個々のスクリプトはおそらくそれ自身の隔離された世界を取得する必要があります。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。