如何在Spotfire Dashboard加载上运行IronPython脚本

时间:2016-05-24 15:51:07

标签: javascript r ironpython tibco spotfire

我想在加载Spotfire仪表板时自动运行IronPython代码。我遇到过一些博客,但由于我是Spotfire的新手,因此它们并不十分详细。

2 个答案:

答案 0 :(得分:0)

这种方法很笨重,如果有人的话,我宁愿选择更好的解决方案。

我使用JScript(您可以在文本区域的编辑HTML部分找到并添加)和按钮(我隐藏这样,以便任何人都无法看到或点击它)。

<强>的JScript:

$(function () {
 function executeScript() {
 $('#hiddenBtn input').click();
 }
$(document).ready(function(){executeScript()});
});

<强> HTML:

<Span style="display:none" id="hiddenBtn">
<SpotfireControl id="f8322a6109af43fb935ad6e7bcb1f1fc" /></span>

HiddenButton上的IronPython脚本:

if Document.Properties["OpenedYet"] == False:
    Document.Properties["OpenedYet"] = True
    ## Script you are trying to run on open here

我不喜欢这种方法主要是因为它对开发者来说有多烦人。每次要保存分析时,都需要进入文档属性并将OpenedYet的属性值(我作为布尔值)从True切换为False,然后在点击之前无法点击任何其他内容。保存按钮。它还有一个限制,要求你在第一页上有一个文本区域,这至少需要一些不动产。

这对您来说也可能有问题,因为您有桌面用户;如果他们中的任何人有权保存分析,他们可以将OpenedYet属性设置为True来保存它,这样当它打开时它就不会运行。

答案 1 :(得分:0)

尝试使用一个标志,这样js只执行一次。这是一个例子 -

$(document).ready(function()
{
    if(!document.readyFlag)
{
    $("#02bf0a06832f4689b1e97fd2ba9e3ec4").trigger("click");
    document.readyFlag=true;
}
})