在我的仪表板初始化并完全加载后,我需要在iframe. 理想情况下,我想innerHeight进入onFirstInteractive,但无法这样做。function initViz() { var containerDiv = document.getElementById("vizContainer"); var url = "http://public.tableau.com/views/RegionalSampleWorkbook/Storms"; var options = { onFirstInteractive: function() { // How do I get the height of the rendered contents? } }; var viz = new tableau.Viz(containerDiv, url, options);}
1 回答
白板的微信
TA贡献1883条经验 获得超3个赞
订阅VIZ_RESIZE
事件,它提供了iframe
on 初始化和 resize 的新维度:
viz.addEventListener(tableau.TableauEventName.VIZ_RESIZE, function(event) { console.log(event.getAvailableSize()); });
这给出了以下内容:
当iframe
出现这样的:
如果您绝对想检索 中的信息onFirstInteractive,可以这样做:
onFirstInteractive: function(viz) {
const iframeStyle = viz.$1._impl.$1h.style;
const { height, width } = iframeStyle;
console.log({ height, width });
}
但这有点 hacky,因为此解决方案使用不应该公开的属性,因此此类代码可能会在未来的 Tableau JS 库更新中中断。
添加回答
举报
0/150
提交
取消