HostObjectsOptions class

追加されたスクリプト プロキシに CoreWebView2.AddHostObjectToScript 適用できるオプションが含まれています。

プロパティ

defaultSyncProxy

同期プロキシでメソッドを呼び出す場合、結果も同期プロキシである必要があります。 ただし、場合によっては、同期または非同期コンテキストが失われます (たとえば、ネイティブ コードに関数への参照を提供し、その関数をネイティブ コードで呼び出す場合など)。 このような場合、このオプションが の場合はプロキシは非同期になり、このオプションが falseの場合は true同期になります。

forceAsyncMethodMatches

これは正規表現の配列です。 同期プロキシでメソッドを呼び出すとき、メソッド名がこの配列の文字列または正規表現と一致する場合、メソッド呼び出しは非同期的に実行されます。 この値を に /Async$/ 設定すると、で終わる Async 任意のメソッドが非同期メソッド呼び出しになります。 非同期メソッドがここで一致せず、強制的に非同期でない場合、メソッドは同期的に呼び出され、呼び出し元の JavaScript の実行がブロックされ、promise を返すのではなく、promise の解決が返されます。

既定値は []です。

forceLocalProperties

これは、ネイティブ ホスト オブジェクトで呼び出されるのではなく、ローカルで実行されるホスト オブジェクト プロパティ名の配列です。 既定値は ['then', 'toJSON', Symbol.toString, Symbol.toPrimitive]です。 他のプロパティを追加して、javascript ホスト オブジェクト プロキシでローカルに実行するように指定できます。

ignoreMemberNotFoundError

既定では、対応するネイティブ クラスに存在しないプロキシ プロパティの値を取得しようとすると、例外がスローされます。 このプロパティを に設定すると true 、エラーなしで返される Chakra WinRT プロジェクション (および一般的な JavaScript) の動作に一致するように動作が undefined 変更されます。

log

これはコールバック デリゲートであり、null 以外の場合はデバッグ情報で呼び出されます。

たとえば、ホスト オブジェクトの使用状況の console.log.bind(console) トラブルシューティングに役立つデバッグ情報をコンソールに出力するように、これを に設定できます。

既定では、これは です null

shouldSerializeDates

既定では、これは です false。javascript Date オブジェクトは を使用して JSON.stringify文字列としてホスト オブジェクトに送信されます。

このプロパティを に true 設定すると、ネイティブ ホスト オブジェクトに Date 送信するときに オブジェクトを として VT_DATE 適切にシリアル化し、プロパティと戻り値を使用 VT_DATE して JavaScript Date オブジェクトを作成できます。

プロパティの詳細

defaultSyncProxy

同期プロキシでメソッドを呼び出す場合、結果も同期プロキシである必要があります。 ただし、場合によっては、同期または非同期コンテキストが失われます (たとえば、ネイティブ コードに関数への参照を提供し、その関数をネイティブ コードで呼び出す場合など)。 このような場合、このオプションが の場合はプロキシは非同期になり、このオプションが falseの場合は true同期になります。

defaultSyncProxy: boolean;

プロパティ値

boolean

forceAsyncMethodMatches

これは正規表現の配列です。 同期プロキシでメソッドを呼び出すとき、メソッド名がこの配列の文字列または正規表現と一致する場合、メソッド呼び出しは非同期的に実行されます。 この値を に /Async$/ 設定すると、で終わる Async 任意のメソッドが非同期メソッド呼び出しになります。 非同期メソッドがここで一致せず、強制的に非同期でない場合、メソッドは同期的に呼び出され、呼び出し元の JavaScript の実行がブロックされ、promise を返すのではなく、promise の解決が返されます。

既定値は []です。

forceAsyncMethodMatches: RegExp[];

プロパティ値

RegExp[]

forceLocalProperties

これは、ネイティブ ホスト オブジェクトで呼び出されるのではなく、ローカルで実行されるホスト オブジェクト プロパティ名の配列です。 既定値は ['then', 'toJSON', Symbol.toString, Symbol.toPrimitive]です。 他のプロパティを追加して、javascript ホスト オブジェクト プロキシでローカルに実行するように指定できます。

forceLocalProperties: string[];

プロパティ値

string[]

ignoreMemberNotFoundError

既定では、対応するネイティブ クラスに存在しないプロキシ プロパティの値を取得しようとすると、例外がスローされます。 このプロパティを に設定すると true 、エラーなしで返される Chakra WinRT プロジェクション (および一般的な JavaScript) の動作に一致するように動作が undefined 変更されます。

ignoreMemberNotFoundError: boolean;

プロパティ値

boolean

log

これはコールバック デリゲートであり、null 以外の場合はデバッグ情報で呼び出されます。

たとえば、ホスト オブジェクトの使用状況の console.log.bind(console) トラブルシューティングに役立つデバッグ情報をコンソールに出力するように、これを に設定できます。

既定では、これは です null

log: (...data: any[]) => void;

プロパティ値

(...data: any[]) => void

shouldSerializeDates

既定では、これは です false。javascript Date オブジェクトは を使用して JSON.stringify文字列としてホスト オブジェクトに送信されます。

このプロパティを に true 設定すると、ネイティブ ホスト オブジェクトに Date 送信するときに オブジェクトを として VT_DATE 適切にシリアル化し、プロパティと戻り値を使用 VT_DATE して JavaScript Date オブジェクトを作成できます。

shouldSerializeDates: boolean;

プロパティ値

boolean