Compartilhar via


HostObjectsOptions class

Contém opções aplicáveis a CoreWebView2.AddHostObjectToScript proxies de script adicionados.

Propriedades

defaultSyncProxy

Ao chamar um método num proxy síncrono, o resultado também deve ser um proxy síncrono. No entanto, em alguns casos, o contexto de sincronização ou assíncrona é perdido (por exemplo, ao fornecer ao código nativo uma referência a uma função e, em seguida, chamar essa função em código nativo). Nestes casos, o proxy será assíncrono se esta opção for falsee síncrona se esta opção for true.

forceAsyncMethodMatches

Esta é uma matriz de expressões regulares. Ao chamar um método num proxy síncrono, a chamada de método será efetuada de forma assíncrona se o nome do método corresponder a uma cadeia ou expressão regular nesta matriz. Definir este valor como /Async$/ fará com que qualquer método que termine com Async seja uma chamada de método assíncrona. Se um método assíncrono não corresponder aqui e não for forçado a ser assíncrono, o método será invocado de forma síncrona, bloqueando a execução do JavaScript de chamada e, em seguida, devolvendo a resolução da promessa, em vez de devolver uma promessa.

Esta predefinição é [].

forceLocalProperties

Esta é uma matriz de nomes de propriedades de objeto anfitrião que serão executados localmente, em vez de serem chamados no objeto anfitrião nativo. Esta predefinição é ['then', 'toJSON', Symbol.toString, Symbol.toPrimitive]. Pode adicionar outras propriedades para especificar que devem ser executadas localmente no proxy de objeto anfitrião javascript.

ignoreMemberNotFoundError

Por predefinição, é emitida uma exceção ao tentar obter o valor de uma propriedade de proxy que não existe na classe nativa correspondente. Definir esta propriedade para true alterar o comportamento para corresponder ao comportamento de projeção WinRT (e JavaScript geral) de Chakra, undefined sem erros.

log

Este é um delegado de chamada de retorno que será chamado com informações de depuração se não forem nulas.

Por exemplo, pode definir esta opção para console.log.bind(console) que imprima informações de depuração na consola do , para ajudar na resolução de problemas de utilização de objetos anfitriões.

Por predefinição, trata-se nullde .

shouldPassTypedArraysAsArrays

Por predefinição, as matrizes digitadas são transmitidas para o anfitrião como IDispatch. Em vez disso, passe as matrizes digitadas para o anfitrião como , defina esta opção como arraytrue.

shouldSerializeDates

Por predefinição, trata-se falsede e os objetos javascript Date serão enviados para objetos anfitriões como uma cadeia com JSON.stringify.

Pode definir esta propriedade para true que os objetos serializem Date corretamente como um VT_DATE ao enviar para o objeto anfitrião nativo e ter VT_DATE propriedades e valores devolvidos para criar um objeto JavaScript Date .

Detalhes da propriedade

defaultSyncProxy

Ao chamar um método num proxy síncrono, o resultado também deve ser um proxy síncrono. No entanto, em alguns casos, o contexto de sincronização ou assíncrona é perdido (por exemplo, ao fornecer ao código nativo uma referência a uma função e, em seguida, chamar essa função em código nativo). Nestes casos, o proxy será assíncrono se esta opção for falsee síncrona se esta opção for true.

defaultSyncProxy: boolean;

Valor da propriedade

boolean

forceAsyncMethodMatches

Esta é uma matriz de expressões regulares. Ao chamar um método num proxy síncrono, a chamada de método será efetuada de forma assíncrona se o nome do método corresponder a uma cadeia ou expressão regular nesta matriz. Definir este valor como /Async$/ fará com que qualquer método que termine com Async seja uma chamada de método assíncrona. Se um método assíncrono não corresponder aqui e não for forçado a ser assíncrono, o método será invocado de forma síncrona, bloqueando a execução do JavaScript de chamada e, em seguida, devolvendo a resolução da promessa, em vez de devolver uma promessa.

Esta predefinição é [].

forceAsyncMethodMatches: RegExp[];

Valor da propriedade

RegExp[]

forceLocalProperties

Esta é uma matriz de nomes de propriedades de objeto anfitrião que serão executados localmente, em vez de serem chamados no objeto anfitrião nativo. Esta predefinição é ['then', 'toJSON', Symbol.toString, Symbol.toPrimitive]. Pode adicionar outras propriedades para especificar que devem ser executadas localmente no proxy de objeto anfitrião javascript.

forceLocalProperties: string[];

Valor da propriedade

string[]

ignoreMemberNotFoundError

Por predefinição, é emitida uma exceção ao tentar obter o valor de uma propriedade de proxy que não existe na classe nativa correspondente. Definir esta propriedade para true alterar o comportamento para corresponder ao comportamento de projeção WinRT (e JavaScript geral) de Chakra, undefined sem erros.

ignoreMemberNotFoundError: boolean;

Valor da propriedade

boolean

log

Este é um delegado de chamada de retorno que será chamado com informações de depuração se não forem nulas.

Por exemplo, pode definir esta opção para console.log.bind(console) que imprima informações de depuração na consola do , para ajudar na resolução de problemas de utilização de objetos anfitriões.

Por predefinição, trata-se nullde .

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

Valor da propriedade

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

shouldPassTypedArraysAsArrays

Por predefinição, as matrizes digitadas são transmitidas para o anfitrião como IDispatch. Em vez disso, passe as matrizes digitadas para o anfitrião como , defina esta opção como arraytrue.

shouldPassTypedArraysAsArrays: boolean;

Valor da propriedade

boolean

shouldSerializeDates

Por predefinição, trata-se falsede e os objetos javascript Date serão enviados para objetos anfitriões como uma cadeia com JSON.stringify.

Pode definir esta propriedade para true que os objetos serializem Date corretamente como um VT_DATE ao enviar para o objeto anfitrião nativo e ter VT_DATE propriedades e valores devolvidos para criar um objeto JavaScript Date .

shouldSerializeDates: boolean;

Valor da propriedade

boolean