PowerBI 在打印时报告嵌入错误 "The document is sandboxed, and the 'allow-modals' keyword is not set."

PowerBI report embed error on print "The document is sandboxed, and the 'allow-modals' keyword is not set."

我正在我的网站中嵌入 PowerBI 报告。使用 powerbi-client 没问题。但是最近添加 new policy 后,我无法打印该报告。 我收到错误:

Ignored call to 'print()'. The document is sandboxed, and the 'allow-modals' keyword is not set.

我检查了这样的主题 并尝试这样做:

const report = powerbi.bootstrap(embedContainer, settings);
report.iframe.sandbox.add('allow-modals');

正在向库 iframe 生成的沙箱属性添加 allow-modals 值。但问题仍然可以在 print.

上重现

这段代码我调用打印按钮的 onclick

private onPrintPowerBiReport(): void {
    const report = powerbi.get(embedContainer);
    report.print();
};

这是一项 Content-Security-Policy 功能阻止了您。您需要将 allow-modals 添加到 headers.