我想在加载Spotfire仪表板时自动运行IronPython代码。我遇到过一些博客,但由于我是Spotfire的新手,因此它们并不十分详细。
答案 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;
}
})