为了账号安全,请及时绑定邮箱和手机立即绑定

获取嵌入式 Tableau 仪表板的窗口高度

获取嵌入式 Tableau 仪表板的窗口高度

肥皂起泡泡 2022-10-08 18:10:52
在我的仪表板初始化并完全加载后,我需要在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事件,它提供了iframeon 初始化和 resize 的新维度:

viz.addEventListener(tableau.TableauEventName.VIZ_RESIZE, function(event) {
    console.log(event.getAvailableSize());
    });

这给出了以下内容:

//img1.sycdn.imooc.com//63414cd6000116c806410021.jpg

iframe出现这样的:

//img1.sycdn.imooc.com//63414ce400019e0f06570117.jpg

如果您绝对想检索 中的信息onFirstInteractive,可以这样做:


onFirstInteractive: function(viz) {           

    const iframeStyle = viz.$1._impl.$1h.style;

    const { height, width } = iframeStyle;

    console.log({ height, width });

}

但这有点 hacky,因为此解决方案使用不应该公开的属性,因此此类代码可能会在未来的 Tableau JS 库更新中中断。


查看完整回答
反对 回复 2022-10-08
  • 1 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信