Spotfire® 用户指南

JavaScript 示例脚本

本主题显示了一些基于 JavaScript 的脚本示例,这些脚本可在文本区域中用于提供一些简单的交互。

您可以通过编辑文本区域的 HTML 将 JavaScript 添加到分析中,或者如在 Spotfire 中管理脚本中所述进行操作。

注: 出于安全原因,使用脚本有一些限制。有关详细信息,请参见脚本和数据函数的使用
注: 您添加到文本区域中的 JavaScript 将和 Spotfire 定义的 JavaScript 在相同的环境中执行,以实施文本区域中和其他 Spotfire 图表中的所有功能。这意味着,有许多由 Spotfire 和相关第三方定义的 JavaScript 库,包括 jQuery ($) 和 jQueryUI。Spotfire 不保证范畴中库的正确性、可用性或兼容性。未来的 Spotfire 版本可能会包含其他升级的和/或不兼容的库。库也可能会从未来版本中删除。因此,如果要使用诸如 jQuery 或 jQueryUI 等库,您必须自己导入这些库,而不能依赖 Spotfire 使用的版本。有关详细信息,请参见 Community 文章如何在文本区域中包含您自己的 jQuery 和 jQueryUI 实例
注: JavaScript 参数只能为字符串类型。

在鼠标悬停于某一元素上方时更改其背景颜色

下列脚本使用了两个参数,即“id”和“color”。其中,“id”是要更改其背景颜色的元素的 ID。在示例中,其设为“my-p”。“color”则是要设置的背景颜色(如 #e7e3e7)。两个参数都在“插入 JavaScript”对话框中指定为字符串参数。
------------------------------------------------------------------------
var elem = document.getElementById(id);
if (!elem)
{
   return;
}

var oldBgColor = elem.style.backgroundColor;
var onEnter = function()
{
    elem.style.backgroundColor = color;
};

var onLeave = function()
{
   elem.style.backgroundColor = oldBgColor;
};

elem.onmouseover = onEnter;
elem.onmouseout = onLeave;
-------------------------------------------------------------------------

该脚本通过在文本区域 HTML 中调用 ID 来使用。

例如,通过将所需的 ID 添加到段落中:
 <p id="my-p">A JavaScript changes the background color when the mouse is over this paragraph.</p>

这将导致文本区域段落出现以下效果:在鼠标移到段落中文本的上方时,其背景颜色更改为指定的颜色。

在文本区域已准备好呈现为 PDF 或图像时发出指示

如果脚本包含异步调用,则您必须使用 SF.setBusy() API,以确保在将文本区域导出至 PDF 或图像时获得满意的呈现效果。

通过执行

-------------------------------------------------------------------------
SF.setBusy(true);
-------------------------------------------------------------------------
在脚本执行之前,导出浏览器将不会呈现 PDF/图像:
-------------------------------------------------------------------------
SF.setBusy(false);
-------------------------------------------------------------------------
提示:Community 中,在文本区域编写自定义 JavaScript 代码的最佳做法一文简要介绍了如何在 Spotfire 中的文本区域使用 JavaScript。