HostObjectSyncProxy class
同步主机对象代理。 通过 CoreWebView2.AddHostObjectToScript
添加的主机对象使用 window.chrome.webview.hostObjects.{name}
作为主机对象代理公开。 主机对象代理表示主机对象。
主机对象代理是 JavaScript 代理对象,可截获所有属性 get
、属性 set
和方法调用。 作为 或 原型一部分的属性 Function
或 Object
方法在本地运行。 此外,数组中的任何 chrome.webview.hostObjects.options.forceLocalProperties
属性或方法也会在本地运行。 这默认包括在 JavaScript 中具有含义的可选方法,例如 toJSON
和 Symbol.toPrimitive
。 根据需要向数组添加更多内容。
- 扩展
方法
apply |
对与此代理对应的主机对象执行方法调用。 将所有参数转换为调用 host 对象方法。 |
async() | 一种方法,该方法阻止并返回同一主机对象的异步主机对象代理。 例如, |
get |
对主机对象执行属性 |
get |
在代理对象上本地执行属性 |
set |
对主机对象执行属性 |
set |
在代理对象上本地执行属性 |
方法详细信息
applyHostFunction(argArray)
对与此代理对应的主机对象执行方法调用。
将所有参数转换为调用 host 对象方法。
applyHostFunction(argArray?: any): any;
参数
- argArray
-
any
要传递给宿主对象方法调用的参数数组。
返回
any
主机对象方法调用的返回值的转换值。
async()
一种方法,该方法阻止并返回同一主机对象的异步主机对象代理。 例如, chrome.webview.hostObjects.sync.sample.methodCall()
返回同步主机对象代理。
async
在此块上运行 方法,然后返回同一主机对象的异步主机对象代理:const asyncProxy = chrome.webview.hostObjects.sync.sample.methodCall().async()
。
async(): HostObjectAsyncProxy;
返回
同一主机对象的异步主机对象代理。
getHostProperty(propertyName)
对主机对象执行属性 get
。 如果存在冲突的本地方法或属性 get
,请使用此方法显式强制属性远程发生。 例如, proxy.toString()
在代理对象上运行本地 toString
方法。
toString
但proxy.applyHostFunction('toString')
改为在主机代理对象上运行。
getHostProperty(propertyName: string): any;
参数
- propertyName
-
string
要获取其值的 属性的字符串名称。
返回
any
主机对象的 属性的 属性的转换值。
getLocalProperty(propertyName)
在代理对象上本地执行属性 get
。 使用 方法强制获取主机对象代理上的属性,而不是它表示的主机对象上的属性。 例如, proxy.unknownProperty
从主机代理对象获取名为 unknownProperty
的属性。 但 proxy.getLocalProperty('unknownProperty')
获取代理对象上 属性 unknownProperty
的值。
getLocalProperty(propertyName: string): any;
参数
- propertyName
-
string
要获取其值的属性的名称。
返回
any
属性的值。
setHostProperty(propertyName, propertyValue)
对主机对象执行属性 set
。 如果存在冲突的本地方法或属性 set
,请使用此方法显式强制属性远程发生。
setHostProperty(propertyName: string, propertyValue: any): any;
参数
- propertyName
-
string
要设置其值的属性的名称。
- propertyValue
-
any
要设置属性的值。
返回
any
主机对象的 属性的 属性的转换值。
setLocalProperty(propertyName, propertyValue)
在代理对象上本地执行属性 set
。 使用 方法强制在主机对象代理(而不是它所表示的主机对象)上设置属性。 例如, proxy.unknownProperty = 2
在主机代理对象上设置名为 unknownProperty
的属性。 但 proxy.setLocalProperty('unknownProperty', 2)
设置代理对象上的 属性 unknownProperty
的值。
setLocalProperty(propertyName: string, propertyValue: any): any;
参数
- propertyName
-
string
要设置其值的属性的名称。
- propertyValue
-
any
要设置属性的值。
返回
any
设置属性后的值。