我有一个公开的Power BI报告,可以使用以下命令将其嵌入到iframe中的页面上:
<iframe
width="800"
height="600"
src="http://.../SomeReport?rs:embed=true"
frameborder="0"
allowFullScreen="true"
></iframe>
它工作正常。
我还可以使用Microsoft的PowerBI-JavaScript
(https://github.com/Microsoft/PowerBI-JavaScript)库在页面上显示此报告,如下所示:
powerbi.embed($('#container')[], {
accessToken: 'none',
embedUrl: 'http://.../SomeReport?rs:embed=true',
id: '1',
type: 'report'
});
它也可以正常工作。
问题是我似乎无法使用JavaScript以任何方式与此类报告进行交互。
例如,当我尝试在报告中列出页面时:
const report = powerbi.get($('#container')[0]);
// This method gets executed
report.updateSettings({
filterPaneEnabled: false,
navContentPaneEnabled: false
})
.then(() => {
// Execution does not reach this point
})
.catch(error => {
// Neither this point
});
它似乎不起作用。 then
和catch
块均未执行。
我已经尝试调试PowerBI-JavaScript代码,并且只能看到updateSettings
执行到达了WindowPostMessageProxy.prototype.postMessage
方法,但是我看不到任何/report/settings
(或任何其他)请求的迹象调用updateSettings
方法后的DevTools。
PowerBI-JavaScript
版本是2.6.4
。