![](/img/trans.png)
[英]Spotfire - javascript to trigger IronPython script to be executed on report load
[英]How to run an IronPython Script on Spotfire Dashboard load
我想在加载Spotfire仪表板时自动运行IronPython代码。 我遇到过一些博客,但由于我是Spotfire的新手,因此不是很详细。
这种方法很笨重,如果有人有,我宁愿选择更好的解决方案。
我使用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的Property值(我作为布尔值)从True切换为False,然后在点击保存按钮之前不能单击任何其他内容。 它还有一个限制,要求您在第一页上有一个文本区域,这至少需要一些不动产。
这对您来说也可能有问题,因为您有桌面用户; 如果他们中的任何人有权保存分析,他们可以将OpenedYet属性设置为True来保存它,因此当它打开时它将不会运行。
尝试使用一个标志,这样js只执行一次。这是一个例子 -
$(document).ready(function()
{
if(!document.readyFlag)
{
$("#02bf0a06832f4689b1e97fd2ba9e3ec4").trigger("click");
document.readyFlag=true;
}
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.