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

在我的仪表板初始化并完全加载后,我需要在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);

}


肥皂起泡泡
浏览 84回答 1
1回答

白板的微信

订阅VIZ_RESIZE事件,它提供了iframeon 初始化和 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 库更新中中断。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript