共用方式為


HostObjectSyncProxy class

同步主機物件 Proxy。 透過 CoreWebView2.AddHostObjectToScript 新增的主機物件會使用 window.chrome.webview.hostObjects.{name}公開為主物件 Proxy。 主機物件 Proxy 代表主機物件。

主機物件 Proxy 是 JavaScript Proxy 物件,可攔截所有屬性、屬性getset和方法調用。 屬於或原型一部分的 Function 屬性或 Object 方法會在本機執行。 此外, chrome.webview.hostObjects.options.forceLocalProperties 陣列中的任何屬性或方法也會在本機執行。 這預設為包含在 JavaScript 中具有意義的選擇性方法,例如 toJSONSymbol.toPrimitive。 視需要將更多新增至陣列。

Extends

方法

applyHostFunction(argArray)

在對應至此 Proxy 的主機物件上執行方法調用。

所有參數都會轉換成呼叫主機物件方法。

async()

方法,可封鎖並傳回相同主機對象的異步主機物件 Proxy。 例如, 會 chrome.webview.hostObjects.sync.sample.methodCall() 傳回同步主機物件 Proxy。 async在此區塊上執行 方法,然後傳回相同主機對象的異步主機物件 Proxy:const asyncProxy = chrome.webview.hostObjects.sync.sample.methodCall().async()

getHostProperty(propertyName)

在主物件上執行 屬性 get 。 如果有衝突的本機方法或屬性存在,請使用這個方法明確地強制從遠端發生屬性 get 。 例如, 會 proxy.toString() 在 Proxy 物件上執行本 toString 機方法。 toString但是proxy.applyHostFunction('toString')會改為在主機 Proxy 對象上執行。

getLocalProperty(propertyName)

在 Proxy 物件本機上執行屬性 get 。 使用 方法來強制取得主機物件 Proxy 上的屬性,而不是在它所代表的主機物件上取得屬性。 例如, proxy.unknownProperty 會從主機 Proxy 物件取得名為 unknownProperty 的屬性。 但是 proxy.getLocalProperty('unknownProperty') 會取得 Proxy 物件上的 屬性 unknownProperty 值。

setHostProperty(propertyName, propertyValue)

在主物件上執行 屬性 set 。 如果有衝突的本機方法或屬性存在,請使用這個方法明確地強制從遠端發生屬性 set

setLocalProperty(propertyName, propertyValue)

在 Proxy 物件本機上執行屬性 set 。 使用 方法來強制在主機物件 Proxy 上設定屬性,而不是在它所代表的主機對象上設定屬性。 例如, proxy.unknownProperty = 2 在主機 Proxy 物件上設定名為 unknownProperty 的屬性。 但是 proxy.setLocalProperty('unknownProperty', 2) 會在 Proxy 物件上設定 屬性 unknownProperty 的值。

方法詳細資料

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

設定屬性之後的值。