我正在尝试将Power BI报告嵌入到网页中的iFrame中.我有一个从
Power BI Rest API,收集的报告列表,我想在同一页面上动态加载报告到iFrame.
唯一的问题是,我似乎无法找到一种方法来弄清楚报告的宽度和高度.
我有一个固定的框架,所以我想以某种方式计算所需的高度(虽然我可以得到报告尺寸/比率,我可以计算出那部分).
由于javascript跨域限制,我无法在加载后访问iFrame内容高度.
最佳答案 我把我的项目代码.这里有一个div元素“reportContainer”. iframe宽度&身高总是100%,这是不可控制的.
你可以在容器div中添加高度和宽度.
<div id="reportContainer" hidden="hidden" style="height:85vh; width:85vw"></div>
@if (Model.ReportMode == Embed.Models.ReportMode.ExistingReport)
{
<script>
var embedReportId = "@Model.CurrentReport.EmbedConfig.Id";
var embedUrl = "@Html.Raw(Model.CurrentReport.EmbedConfig.EmbedUrl)";
var accessToken = "@Model.CurrentReport.EmbedConfig.EmbedToken.Token";
var reportContainer = document.getElementById('reportContainer');
// call embedReport utility function defined inside App.ts
PowerBIEmbedManager.embedReport(embedReportId, embedUrl, accessToken, reportContainer);
</script>
}
</div>
请看渲染图像.