HostObjectsOptions class
追加されたスクリプト プロキシに CoreWebView2.AddHostObjectToScript
適用できるオプションが含まれています。
プロパティ
default |
同期プロキシでメソッドを呼び出す場合、結果も同期プロキシである必要があります。 ただし、場合によっては、同期または非同期コンテキストが失われます (たとえば、ネイティブ コードに関数への参照を提供し、その関数をネイティブ コードで呼び出す場合など)。 このような場合、このオプションが の場合はプロキシは非同期になり、このオプションが |
force |
これは正規表現の配列です。 同期プロキシでメソッドを呼び出すとき、メソッド名がこの配列の文字列または正規表現と一致する場合、メソッド呼び出しは非同期的に実行されます。 この値を に 既定値は |
force |
これは、ネイティブ ホスト オブジェクトで呼び出されるのではなく、ローカルで実行されるホスト オブジェクト プロパティ名の配列です。 既定値は |
ignore |
既定では、対応するネイティブ クラスに存在しないプロキシ プロパティの値を取得しようとすると、例外がスローされます。 このプロパティを に設定すると |
log | これはコールバック デリゲートであり、null 以外の場合はデバッグ情報で呼び出されます。 たとえば、ホスト オブジェクトの使用状況の 既定では、これは です |
should |
既定では、型指定された配列は として |
should |
既定では、これは です このプロパティを に |
プロパティの詳細
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
shouldPassTypedArraysAsArrays
既定では、型指定された配列は として IDispatch
ホストに渡されます。 代わりに、型指定された配列を として array
ホストに渡すには、これを に true
設定します。
shouldPassTypedArraysAsArrays: boolean;
プロパティ値
boolean
shouldSerializeDates
既定では、これは です false
。javascript Date
オブジェクトは を使用して JSON.stringify
文字列としてホスト オブジェクトに送信されます。
このプロパティを に true
設定すると、ネイティブ ホスト オブジェクトに Date
送信するときに オブジェクトを として VT_DATE
適切にシリアル化し、プロパティと戻り値を使用 VT_DATE
して JavaScript Date
オブジェクトを作成できます。
shouldSerializeDates: boolean;
プロパティ値
boolean