HostObjectSyncProxy class
同步主機物件 Proxy。 透過 CoreWebView2.AddHostObjectToScript
新增的主機物件會使用 window.chrome.webview.hostObjects.{name}
公開為主物件 Proxy。 主機物件 Proxy 代表主機物件。
主機物件 Proxy 是 JavaScript Proxy 物件,可攔截所有屬性、屬性get
set
和方法調用。 屬於或原型一部分的 Function
屬性或 Object
方法會在本機執行。 此外, chrome.webview.hostObjects.options.forceLocalProperties
陣列中的任何屬性或方法也會在本機執行。 這預設為包含在 JavaScript 中具有意義的選擇性方法,例如 toJSON
和 Symbol.toPrimitive
。 視需要將更多新增至陣列。
- Extends
方法
apply |
在對應至此 Proxy 的主機物件上執行方法調用。 所有參數都會轉換成呼叫主機物件方法。 |
async() | 方法,可封鎖並傳回相同主機對象的異步主機物件 Proxy。 例如, 會 |
get |
在主物件上執行 屬性 |
get |
在 Proxy 物件本機上執行屬性 |
set |
在主物件上執行 屬性 |
set |
在 Proxy 物件本機上執行屬性 |
方法詳細資料
applyHostFunction(argArray)
在對應至此 Proxy 的主機物件上執行方法調用。
所有參數都會轉換成呼叫主機物件方法。
applyHostFunction(argArray?: any): any;
參數
- argArray
-
any
要傳遞至主機物件方法調用的自變數陣列。
傳回
any
主機物件方法調用之傳回值的轉換值。
async()
方法,可封鎖並傳回相同主機對象的異步主機物件 Proxy。 例如, 會 chrome.webview.hostObjects.sync.sample.methodCall()
傳回同步主機物件 Proxy。
async
在此區塊上執行 方法,然後傳回相同主機對象的異步主機物件 Proxy:const asyncProxy = chrome.webview.hostObjects.sync.sample.methodCall().async()
。
async(): HostObjectAsyncProxy;
傳回
相同主機對象的異步主機物件 Proxy。
getHostProperty(propertyName)
在主物件上執行 屬性 get
。 如果有衝突的本機方法或屬性存在,請使用這個方法明確地強制從遠端發生屬性 get
。 例如, 會 proxy.toString()
在 Proxy 物件上執行本 toString
機方法。
toString
但是proxy.applyHostFunction('toString')
會改為在主機 Proxy 對象上執行。
getHostProperty(propertyName: string): any;
參數
- propertyName
-
string
要取得其值之屬性的字串名稱。
傳回
any
主物件之 屬性的已轉換值。
getLocalProperty(propertyName)
在 Proxy 物件本機上執行屬性 get
。 使用 方法來強制取得主機物件 Proxy 上的屬性,而不是在它所代表的主機物件上取得屬性。 例如, proxy.unknownProperty
會從主機 Proxy 物件取得名為 unknownProperty
的屬性。 但是 proxy.getLocalProperty('unknownProperty')
會取得 Proxy 物件上的 屬性 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)
在 Proxy 物件本機上執行屬性 set
。 使用 方法來強制在主機物件 Proxy 上設定屬性,而不是在它所代表的主機對象上設定屬性。 例如, proxy.unknownProperty = 2
在主機 Proxy 物件上設定名為 unknownProperty
的屬性。 但是 proxy.setLocalProperty('unknownProperty', 2)
會在 Proxy 物件上設定 屬性 unknownProperty
的值。
setLocalProperty(propertyName: string, propertyValue: any): any;
參數
- propertyName
-
string
要設定其值之屬性的名稱。
- propertyValue
-
any
要設定屬性的值。
傳回
any
設定屬性之後的值。