在Blazor应用程序中使用MicrosoftTeams JavaScript API时,可能会遇到“ The library has not yet been initialized”的错误,这表示尚未初始化Microsoft Teams库。
要解决此问题,可以在 JavaScript 和 JavaScript Interop 之间共享 Microsoft Teams 上下文对象。具体步骤如下:
microsoftTeams
的全局变量,并在 JavaScript 中使用它来初始化 Microsoft Teams 库。
window
对象来访问 microsoftTeams
对象,并将其传递给要调用的 Blazor C# 方法。@inject IJSRuntime JsRuntime
...
// Call The JS function from C# code
await JsRuntime.InvokeVoidAsync("executeAction", microsoftTeams);
// Define the JS function, that can call Microsoft Teams JavaScript APIs
window.executeAction = async function (microsoftTeams) {
// Call Microsoft Teams APIs here
var context = microsoftTeams.getContext();
...
};
通过这种方式,可以使 Blazor 应用程序中的 JavaScript 和 JavaScript Interop 之间共享 Microsoft Teams 上下文对象。