我正在尝试构建一个实时仪表板,该仪表板每15秒刷新一次。我已经使用直接查询创建了一个报告,该报告在每次重新加载报告时都会刷新数据集。我希望刷新能够无缝进行,而无需用户注意Power BI报表必须在浏览器中刷新。
我尝试了本文中的说明:http://codecorner.galanter.net/2016/05/05/flicker-free-iframe-refresh/
<html>
<iframe id="xIfrWidget0" width="100%" height="100%" style="display:none"></iframe>
<iframe id="xIfrWidget1" width="100%" height="100%" style="display:none"></iframe>
<script type="text/javascript">
var ifrNo = 0;
var ifrHidden;
var ifr;
function swap()
{
ifr = document.getElementById('xIfrWidget' + ifrNo);
ifrNo = 1 - ifrNo;
ifrHidden = document.getElementById('xIfrWidget' + ifrNo);
ifr.onload = null;
ifrHidden.onload = function() {
ifr.style.display = 'none';
ifrHidden.style.display = 'block';
}
ifrHidden.src = "https://app.powerbi.com/reportEmbed?reportId=...";
}
setInterval(function ()
{
swap();
}, 15000)
</script>
</html>
使用这种当前方法,您仍然可以看到视觉效果正在屏幕上加载。我希望无缝进行刷新,而无需用户注意到Power BI报表必须在浏览器中刷新。