我无法使用WebView将安全报告嵌入到Xamarin.Forms应用中。我了解Power BI Embedded可以通过其JavaScript API加载到网页中。我的逻辑是,这可以通过WebView在Xamarin.Forms中实现。
我可以访问Power BI嵌入令牌,嵌入URL和报告ID。我当前的方法是将具有JavaScript所需参数的本地HTML文件存储到WebView中,以显示嵌入式报告。
我使用以下JavaScript尝试将报告加载到本地HTML:
<script>
// Read embed application token from Model
var accessToken = "<<ACCESS_TOKEN>>"
// Read embed URL from Model
var embedUrl = "<<EMBED_URL>>";
// Read report Id from Model
var embedReportId = "<<REPORT_ID>>";
// Get models. models contains enums that can be used.
var models = window['powerbi-client'].models;
var config = {
type: 'report',
tokenType: models.TokenType.Embed,
accessToken: accessToken,
embedUrl: embedUrl,
id: embedReportId,
permissions: models.Permissions.All,
settings: {
layoutType: models.LayoutType.MobilePortrait
}
};
// Get a reference to the embedded report HTML element
var reportContainer = $('#reportContainer')[0];
// Embed the report and display it within the div container.
var report = powerbi.embed(reportContainer, config);
</script>
此代码段中引用了所有必需的JavaScript库。
初始化页面后,WebView将包含HTML,并且该报告未在分配的<div>
中呈现。我怀疑用于加载嵌入式报告的JavaScript不能在Xamarin WebView中运行。
是否可以在Xamarin.Forms应用程序中嵌入安全报告?我的方法是实现此目标的正确方法吗?还是有更好的方法来解决这个问题?