我们创建了一个包含桌面版本和移动版本的 PowerBI 报告。
当我们在输入正确的信息后在以下示例站点进行测试时,它会正确显示桌面和手机视图。
https://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.html https://microsoft.github.io/PowerBI-JavaScript/demo/v2-demo/index.html
但当我们在移动设备上打开网站时,它仍然显示桌面版本的报告。 powerbi.js 文件使用的文件版本是“powerbi-client v2.5.1”。
下面提供了使用的 HTML 和 javascript
我们还附加了“&isMobile=true”和嵌入报告 URL。
我们是否缺少任何显示移动版本的参考?
<html>
<head>
</head>
<body>
<div id="reportContainer" style="width: 100%; height: 610px" aria-atomic="True" aria-multiline="True" aria-multiselectable="True" aria-orientation="vertical">
</div>
<script src="~/Scripts/powerbi.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<script>
$(document).ready(function() {
var txtAccessToken = "@Model.EmbedToken.Token";
var txtEmbedUrl = "@Html.Raw(Model.EmbedUrl)";
var txtEmbedReportId = "@Model.Id";
var tokenType = $('input:radio[name=tokenType]:checked').val();
var models = window['powerbi-client'].models;
var permissions = models.Permissions.All;
var config = {
type: 'report',
tokenType: tokenType == '0' ? models.TokenType.Aad : models.TokenType.Embed,
accessToken: txtAccessToken,
embedUrl: txtEmbedUrl,
id: txtEmbedReportId,
permissions: permissions,
settings: {
layoutType: models.LayoutType.MobilePortrait
}
};
// Get a reference to the embedded report HTML element
var embedContainer = $('#reportContainer')[0];
// Embed the report and display it within the div container.
var report = powerbi.embed(embedContainer, config);
// Report.off removes a given event handler if it exists.
report.off("loaded");
// Report.on will add an event handler which prints to Log window.
report.on("loaded", function() {
Log.logText("Loaded");
});
report.on("error", function(event) {
Log.log(event.detail);
report.off("error");
});
report.off("saved");
report.on("saved", function(event) {
Log.log(event.detail);
if (event.detail.saveAs) {
Log.logText('In order to interact with the new report, create a new token and load the new report');
}
});
});
</script>
</body>
</html>
问题已解决。我正在附加isMobile=true
在配置的 embededUrl 属性中。
report.EmbedUrl = report.EmbedUrl + "&isMobile=true";
我们不需要附加"&isMobile=true"
明确地,该参数将在 iframe url 中自动更新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)