共用方式為


HostObjectsOptions class

包含適用於 CoreWebView2.AddHostObjectToScript 新增文稿 Proxy 的選項。

屬性

defaultSyncProxy

在同步 Proxy 上呼叫方法時,結果也應該是同步 Proxy。 但在某些情況下,同步處理或異步內容會遺失 (例如,將函式的參考提供給原生程式代碼,然後在原生程式代碼中呼叫該函式) 。 在這些情況下,如果這個選項是 false,則 Proxy 會是異步的,如果這個選項是 ,則為 true同步。

forceAsyncMethodMatches

這是正則表達式的陣列。 在同步 Proxy 上呼叫方法時,如果方法名稱符合此數位中的字串或正則表示式,則會以異步方式執行方法呼叫。 將此值設定為 /Async$/ 會讓任何以 為結尾 Async 的方法成為異步方法呼叫。 如果異步方法在這裡不相符,而且未強制為異步,則會以同步方式叫用方法,封鎖呼叫 JavaScript 的執行,然後傳回承諾的解析,而不是傳回承諾。

預設為 []

forceLocalProperties

這是將在本機執行的主機對象屬性名稱陣列,而不是在原生主機物件上呼叫。 預設為 ['then', 'toJSON', Symbol.toString, Symbol.toPrimitive]。 您可以新增其他屬性,以指定它們應該在 javascript 主機物件 Proxy 本機上執行。

ignoreMemberNotFoundError

根據預設,嘗試取得對應原生類別上不存在之 Proxy 屬性的值時,會擲回例外狀況。 將此屬性設定為 會 true 變更行為,以符合 Chakra WinRT 投影 (和一般 JavaScript) 傳回 undefined 而不會發生錯誤的行為。

log

這是回呼委派,如果非 Null,則會使用偵錯資訊呼叫。

例如,您可以將此設定為 console.log.bind(console) 讓它將偵錯資訊列印到主控制台,以在疑難解答主機物件使用方式時提供協助。

根據預設,這是 null

shouldPassTypedArraysAsArrays

根據預設,具類型的陣列會以 傳遞至主機。IDispatch 若要改為將具類型的陣列當做 array傳遞給主機,請將此設定為 true

shouldSerializeDates

根據預設,這是 false,而且 javascript Date 物件會使用 JSON.stringify以字串形式傳送至主機物件。

您可以將這個屬性設定為 true ,讓 Date 對象在傳送至原生主機物件時正確地串行化為 VT_DATE ,並讓 VT_DATE 屬性和傳回值建立 JavaScript Date 物件。

屬性詳細資料

defaultSyncProxy

在同步 Proxy 上呼叫方法時,結果也應該是同步 Proxy。 但在某些情況下,同步處理或異步內容會遺失 (例如,將函式的參考提供給原生程式代碼,然後在原生程式代碼中呼叫該函式) 。 在這些情況下,如果這個選項是 false,則 Proxy 會是異步的,如果這個選項是 ,則為 true同步。

defaultSyncProxy: boolean;

屬性值

boolean

forceAsyncMethodMatches

這是正則表達式的陣列。 在同步 Proxy 上呼叫方法時,如果方法名稱符合此數位中的字串或正則表示式,則會以異步方式執行方法呼叫。 將此值設定為 /Async$/ 會讓任何以 為結尾 Async 的方法成為異步方法呼叫。 如果異步方法在這裡不相符,而且未強制為異步,則會以同步方式叫用方法,封鎖呼叫 JavaScript 的執行,然後傳回承諾的解析,而不是傳回承諾。

預設為 []

forceAsyncMethodMatches: RegExp[];

屬性值

RegExp[]

forceLocalProperties

這是將在本機執行的主機對象屬性名稱陣列,而不是在原生主機物件上呼叫。 預設為 ['then', 'toJSON', Symbol.toString, Symbol.toPrimitive]。 您可以新增其他屬性,以指定它們應該在 javascript 主機物件 Proxy 本機上執行。

forceLocalProperties: string[];

屬性值

string[]

ignoreMemberNotFoundError

根據預設,嘗試取得對應原生類別上不存在之 Proxy 屬性的值時,會擲回例外狀況。 將此屬性設定為 會 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