HostObjectsOptions class
包含适用于 CoreWebView2.AddHostObjectToScript
添加的脚本代理的选项。
属性
default |
在同步代理上调用方法时,结果也应是同步代理。 但在某些情况下,同步或异步上下文会丢失 (例如,向本机代码提供对函数的引用,然后在本机代码中调用该函数) 。 在这些情况下,如果此选项为 |
force |
这是正则表达式的数组。 在同步代理上调用方法时,如果方法名称与此数组中的字符串或正则表达式匹配,则将异步执行方法调用。 将此值设置为 这默认为 |
force |
这是将在本地运行的主机对象属性名称数组,而不是在本机主机对象上调用。 这默认为 |
ignore |
默认情况下,尝试获取相应本机类上不存在的代理属性的值时,将引发异常。 将此属性设置为 将 |
log | 这是一个回调委托,如果非 null,将使用调试信息调用。 例如,可以将其 默认情况下,这是 |
should |
默认情况下,类型化数组作为 |
should |
默认情况下,这是 可以将此属性设置为 |
属性详细信息
defaultSyncProxy
在同步代理上调用方法时,结果也应是同步代理。 但在某些情况下,同步或异步上下文会丢失 (例如,向本机代码提供对函数的引用,然后在本机代码中调用该函数) 。 在这些情况下,如果此选项为 false
,则代理将异步;如果此选项为 ,则代理将 true
同步。
defaultSyncProxy: boolean;
属性值
boolean
forceAsyncMethodMatches
这是正则表达式的数组。 在同步代理上调用方法时,如果方法名称与此数组中的字符串或正则表达式匹配,则将异步执行方法调用。 将此值设置为 /Async$/
将使以 Async
结尾的任何方法成为异步方法调用。 如果异步方法在此处不匹配并且不强制异步,则将同步调用该方法,从而阻止调用 JavaScript 的执行,然后返回承诺的解析,而不是返回承诺。
这默认为 []
。
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