HostObjectsOptions class

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

Propriedades

defaultSyncProxy

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

forceAsyncMethodMatches

Esta é uma matriz de expressões regulares. Ao chamar um método em um proxy síncrono, a chamada de método será executada de forma assíncrona se o nome do método corresponder a uma cadeia de caracteres ou expressão regular nessa matriz. Definir esse valor como /Async$/ fará com que qualquer método que termine com Async seja uma chamada de método assíncrono. 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, retornando a resolução da promessa, em vez de retornar uma promessa.

O padrão é [].

forceLocalProperties

Essa é uma matriz de nomes de propriedade de objeto host que serão executados localmente, em vez de serem chamados no objeto host nativo. O padrão é ['then', 'toJSON', Symbol.toString, Symbol.toPrimitive]. Você pode adicionar outras propriedades para especificar que elas devem ser executadas localmente no proxy de objeto de host javascript.

ignoreMemberNotFoundError

Por padrão, uma exceção é gerada ao tentar obter o valor de uma propriedade de proxy que não existe na classe nativa correspondente. Definir essa propriedade como true altera o comportamento para corresponder ao comportamento de projeção do Chakra WinRT (e JavaScript geral) de retornar undefined sem erros.

log

Esse é um delegado de retorno de chamada que será chamado com informações de depuração se não for nulo.

Por exemplo, você pode definir isso para console.log.bind(console) que ele imprima informações de depuração no console, para ajudar na solução de problemas de uso do objeto host.

Por padrão, é nullo .

shouldPassTypedArraysAsArrays

Por padrão, as matrizes tipadas são passadas para o host como IDispatch. Para passar matrizes digitadas para o host como array, defina isso como true.

shouldSerializeDates

Por padrão, é false, e os objetos javascript Date serão enviados para hospedar objetos como uma string usando JSON.stringify.

Você pode definir essa propriedade para true que os objetos sejam serializados corretamente como um VT_DATE ao enviar para o objeto host nativo e fazer com que DateVT_DATE as propriedades e os valores retornados criem um objeto JavaScriptDate.

Detalhes da propriedade

defaultSyncProxy

Ao chamar um método em um proxy síncrono, o resultado também deve ser um proxy síncrono. Mas, em alguns casos, o contexto de sincronização ou assíncrono é perdido (por exemplo, ao fornecer ao código nativo uma referência a uma função e, em seguida, chamar essa função no código nativo). Nesses casos, o proxy será assíncrono se esta opção for false, e síncrono 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 em um proxy síncrono, a chamada de método será executada de forma assíncrona se o nome do método corresponder a uma cadeia de caracteres ou expressão regular nessa matriz. Definir esse valor como /Async$/ fará com que qualquer método que termine com Async seja uma chamada de método assíncrono. 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, retornando a resolução da promessa, em vez de retornar uma promessa.

O padrão é [].

forceAsyncMethodMatches: RegExp[];

Valor da propriedade

RegExp[]

forceLocalProperties

Essa é uma matriz de nomes de propriedade de objeto host que serão executados localmente, em vez de serem chamados no objeto host nativo. O padrão é ['then', 'toJSON', Symbol.toString, Symbol.toPrimitive]. Você pode adicionar outras propriedades para especificar que elas devem ser executadas localmente no proxy de objeto de host javascript.

forceLocalProperties: string[];

Valor da propriedade

string[]

ignoreMemberNotFoundError

Por padrão, uma exceção é gerada ao tentar obter o valor de uma propriedade de proxy que não existe na classe nativa correspondente. Definir essa propriedade como true altera o comportamento para corresponder ao comportamento de projeção do Chakra WinRT (e JavaScript geral) de retornar undefined sem erros.

ignoreMemberNotFoundError: boolean;

Valor da propriedade

boolean

log

Esse é um delegado de retorno de chamada que será chamado com informações de depuração se não for nulo.

Por exemplo, você pode definir isso para console.log.bind(console) que ele imprima informações de depuração no console, para ajudar na solução de problemas de uso do objeto host.

Por padrão, é nullo .

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

Valor da propriedade

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

shouldPassTypedArraysAsArrays

Por padrão, as matrizes tipadas são passadas para o host como IDispatch. Para passar matrizes digitadas para o host como array, defina isso como true.

shouldPassTypedArraysAsArrays: boolean;

Valor da propriedade

boolean

shouldSerializeDates

Por padrão, é false, e os objetos javascript Date serão enviados para hospedar objetos como uma string usando JSON.stringify.

Você pode definir essa propriedade para true que os objetos sejam serializados corretamente como um VT_DATE ao enviar para o objeto host nativo e fazer com que DateVT_DATE as propriedades e os valores retornados criem um objeto JavaScriptDate.

shouldSerializeDates: boolean;

Valor da propriedade

boolean