GoodData中动态嵌入式仪表板高度

时间:2014-03-17 11:21:01

标签: embed dashboard gooddata

我正在尝试将GoodData仪表板嵌入到我的应用程序中的iframe中,但它运行良好但该仪表板上的每个选项卡上都有不同数量的报告,我希望根据实际情况使iframe高度动态化仪表板内容。

有办法怎么做? GoodData以某种方式传播渲染仪表板所需的空间吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

实际上有一个postMessage()发送的事件称为' ui.frameinfo'您可以使用它来检测仪表板选项卡高度(使用dashboard.html时)。每次选项卡更改其高度时都会发送它。

以下听众应打印出iframe的内部高度:

window.addEventListener('message', function(e) {
    var message;
    try {
        message = JSON.parse(e.data);
    } catch (e) {
        // valid messages are JSON
        message = {};
    }
    // drop other than GoodData events
    if (!message.gdc) return;

    if (message.gdc.name === 'ui.frameinfo') {
        console.log('frame height:', message.gdc.data.height);
    }
}

请注意,这还不是官方功能,可能会有所变化。