Partager via


HostObjectsOptions class

Contient des options applicables aux CoreWebView2.AddHostObjectToScript proxys de script ajoutés.

Propriétés

defaultSyncProxy

Lors de l’appel d’une méthode sur un proxy synchrone, le résultat doit également être un proxy synchrone. Mais dans certains cas, le contexte de synchronisation ou asynchrone est perdu (par exemple, lors de la fourniture au code natif d’une référence à une fonction, puis de l’appel de cette fonction dans le code natif). Dans ce cas, le proxy est asynchrone si cette option est false, et synchrone si cette option est true.

forceAsyncMethodMatches

Il s’agit d’un tableau d’expressions régulières. Lors de l’appel d’une méthode sur un proxy synchrone, l’appel de méthode est effectué de manière asynchrone si le nom de la méthode correspond à une chaîne ou une expression régulière dans ce tableau. Si vous définissez cette valeur sur /Async$/ , toute méthode qui se termine par Async est un appel de méthode asynchrone. Si une méthode async ne correspond pas ici et n’est pas forcée d’être asynchrone, la méthode est appelée de manière synchrone, ce qui bloque l’exécution du JavaScript appelant, puis retourne la résolution de la promesse, au lieu de retourner une promesse.

Cette valeur est []définie par défaut sur .

forceLocalProperties

Il s’agit d’un tableau de noms de propriétés d’objet hôte qui seront exécutés localement, au lieu d’être appelés sur l’objet hôte natif. Cette valeur est ['then', 'toJSON', Symbol.toString, Symbol.toPrimitive]définie par défaut sur . Vous pouvez ajouter d’autres propriétés pour spécifier qu’elles doivent être exécutées localement sur le proxy d’objet hôte javascript.

ignoreMemberNotFoundError

Par défaut, une exception est levée lors de la tentative d’obtention de la valeur d’une propriété proxy qui n’existe pas sur la classe native correspondante. La définition de true cette propriété sur modifie le comportement pour qu’il corresponde à la projection Chakra WinRT (et au comportement JavaScript général) de retour undefined sans erreur.

log

Il s’agit d’un délégué de rappel qui sera appelé avec des informations de débogage si la valeur n’est pas null.

Par exemple, vous pouvez définir cette valeur sur console.log.bind(console) pour qu’elle imprime les informations de débogage sur la console, afin de vous aider lors de la résolution des problèmes d’utilisation de l’objet hôte.

Par défaut, il s’agit de null.

shouldPassTypedArraysAsArrays

Par défaut, les tableaux typés sont passés à l’hôte en tant que IDispatch. Pour passer à la place des tableaux typés à l’hôte en tant que array, définissez cette propriété sur true.

shouldSerializeDates

Par défaut, il s’agit falsede , et les objets javascript Date sont envoyés aux objets hôtes sous forme de chaîne à l’aide JSON.stringifyde .

Vous pouvez définir cette propriété sur true pour que Date les objets sérialisent correctement en tant que VT_DATE lors de l’envoi à l’objet hôte natif, et que les propriétés et les valeurs de retour créent VT_DATE un objet JavaScript Date .

Détails de la propriété

defaultSyncProxy

Lors de l’appel d’une méthode sur un proxy synchrone, le résultat doit également être un proxy synchrone. Mais dans certains cas, le contexte de synchronisation ou asynchrone est perdu (par exemple, lors de la fourniture au code natif d’une référence à une fonction, puis de l’appel de cette fonction dans le code natif). Dans ce cas, le proxy est asynchrone si cette option est false, et synchrone si cette option est true.

defaultSyncProxy: boolean;

Valeur de propriété

boolean

forceAsyncMethodMatches

Il s’agit d’un tableau d’expressions régulières. Lors de l’appel d’une méthode sur un proxy synchrone, l’appel de méthode est effectué de manière asynchrone si le nom de la méthode correspond à une chaîne ou une expression régulière dans ce tableau. Si vous définissez cette valeur sur /Async$/ , toute méthode qui se termine par Async est un appel de méthode asynchrone. Si une méthode async ne correspond pas ici et n’est pas forcée d’être asynchrone, la méthode est appelée de manière synchrone, ce qui bloque l’exécution du JavaScript appelant, puis retourne la résolution de la promesse, au lieu de retourner une promesse.

Cette valeur est []définie par défaut sur .

forceAsyncMethodMatches: RegExp[];

Valeur de propriété

RegExp[]

forceLocalProperties

Il s’agit d’un tableau de noms de propriétés d’objet hôte qui seront exécutés localement, au lieu d’être appelés sur l’objet hôte natif. Cette valeur est ['then', 'toJSON', Symbol.toString, Symbol.toPrimitive]définie par défaut sur . Vous pouvez ajouter d’autres propriétés pour spécifier qu’elles doivent être exécutées localement sur le proxy d’objet hôte javascript.

forceLocalProperties: string[];

Valeur de propriété

string[]

ignoreMemberNotFoundError

Par défaut, une exception est levée lors de la tentative d’obtention de la valeur d’une propriété proxy qui n’existe pas sur la classe native correspondante. La définition de true cette propriété sur modifie le comportement pour qu’il corresponde à la projection Chakra WinRT (et au comportement JavaScript général) de retour undefined sans erreur.

ignoreMemberNotFoundError: boolean;

Valeur de propriété

boolean

log

Il s’agit d’un délégué de rappel qui sera appelé avec des informations de débogage si la valeur n’est pas null.

Par exemple, vous pouvez définir cette valeur sur console.log.bind(console) pour qu’elle imprime les informations de débogage sur la console, afin de vous aider lors de la résolution des problèmes d’utilisation de l’objet hôte.

Par défaut, il s’agit de null.

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

Valeur de propriété

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

shouldPassTypedArraysAsArrays

Par défaut, les tableaux typés sont passés à l’hôte en tant que IDispatch. Pour passer à la place des tableaux typés à l’hôte en tant que array, définissez cette propriété sur true.

shouldPassTypedArraysAsArrays: boolean;

Valeur de propriété

boolean

shouldSerializeDates

Par défaut, il s’agit falsede , et les objets javascript Date sont envoyés aux objets hôtes sous forme de chaîne à l’aide JSON.stringifyde .

Vous pouvez définir cette propriété sur true pour que Date les objets sérialisent correctement en tant que VT_DATE lors de l’envoi à l’objet hôte natif, et que les propriétés et les valeurs de retour créent VT_DATE un objet JavaScript Date .

shouldSerializeDates: boolean;

Valeur de propriété

boolean