Tableau api 通过API使viz高度与服务器上相同的表格

Tableau api 通过API使viz高度与服务器上相同的表格,tableau-api,Tableau Api,我有以下选项使viz正确显示在我的容器中。就宽度而言,它显示的是正确的。我的问题是高度,我现在已经指定为500px。如何使高度与tableau服务器上的高度相同 var vizDivObject = document.getElementById('tableauVizDiv'); var options = { width: vizDivObject.offsetWidth, height: "500px", //

我有以下选项使viz正确显示在我的容器中。就宽度而言,它显示的是正确的。我的问题是高度,我现在已经指定为500px。如何使高度与tableau服务器上的高度相同

var vizDivObject = document.getElementById('tableauVizDiv');
var options = {
                    width: vizDivObject.offsetWidth,
                    height: "500px", //vizDivObject.offsetHeight,
                    hideTabs: true,
                    hideToolbar: true
                };

根据Tableau JavaScript API参考手册,在创建viz之前,我看不到获得工作簿高度的方法。将创建viz以填充您定义的区域。如果在div或initializeViz()函数中未设置默认高度,则默认高度为600px。

要获取tableau使用的默认大小,我在tableau服务器上打开tableau工作簿,然后在“共享->嵌入代码”下找到tableau服务器使用的大小。然后我在div中使用这个用法

<div id="tableauVizDiv" style="width: 1304px; height: 862px;"></div>

就我而言,我们支持平板电脑和桌面浏览器。由于我们所有的VIZ都是仪表板,加上选项
width:vizDivObject.offsetWidth
,以下内容对我来说很有用

var workbook = viz.getWorkbook();
var activeSheet = workbook.getActiveSheet();
if (activeSheet.getSheetType() === 'dashboard') { //worksheet or dashboard
                    //alert(activeSheet.getName());
                    activeSheet.changeSizeAsync({
                        behavior: tableauSoftware.SheetSizeBehavior.AUTOMATIC
                    });
                }