Spotfire® Web 客户端用户指南

JavaScript 示例脚本

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

提示:Community 中,在文本区域编写自定义 JavaScript 代码的最佳做法一文简要介绍了如何在 Spotfire 中的文本区域使用 JavaScript。
注: 您添加到文本区域中的 JavaScript 将和 Spotfire 定义的 JavaScript 在相同的环境中执行,以实施文本区域中和其他 Spotfire 图表中的所有功能。这意味着,有许多由 Spotfire 和相关第三方定义的 JavaScript 库,包括 jQuery ($) 和 jQueryUI。Spotfire 不保证范畴中库的正确性、可用性或兼容性。未来的 Spotfire 版本可能会包含其他升级的和/或不兼容的库。库也可能会从未来版本中删除。因此,如果要使用诸如 jQuery 或 jQueryUI 等库,您必须自己导入这些库,而不能依赖 Spotfire 使用的版本。有关详细信息,请参见 Community 文章如何在文本区域中包含您自己的 jQuery 和 jQueryUI 实例

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

下列脚本使用了两个参数,即“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); -------------------------------------------------------------------------