在我们的Web应用程序中,我们正在使用“ TIBCO Spotfire JavascriptAPI”集成Spotfire报告。
我们需要显示来自多个Spotfire服务器的报告。例如,我们在“ spotfire.cloud.tibco.com ”中有一个可视化报告,而在“ spotfire-next.cloud.tibco.com ”中有另一个报告
为了从这两个服务器加载报告,我需要包括两个如下所示的SF服务器
<script src="https://spotfire-next.cloud.tibco.com/spotfire/js-api/loader.js"></script>
<script src="https://spotfire.cloud.tibco.com/spotfire/wp/GetJavaScriptApi.ashx"></script>
因此,如果我使用“ spotfire.webPlayer ”之类的Spotfire实例实例化报告,哪个Spotfire服务器将获得触发器?
var serverUrl = "https://spotfire-next.cloud.tibco.com/spotfire/wp/";
var analysisPath = "/Samples/Expense Analyzer Dashboard";
var customizationInfo = new spotfire.webPlayer.Customization();
var app = new spotfire.webPlayer.Application(serverUrl, customizationInfo,analysisPath);
var doc=app.openDocument("container");
var serverUrl2 = "https://spotfire.cloud.tibco.com/spotfire/wp/";
var analysisPath2 = "/Samples/Expense Analyzer Dashboard2";
var customizationInfo2 = new spotfire.webPlayer.Customization();
var app2 = new spotfire.webPlayer.Application(serverUrl2, customizationInfo2, analysisPath2);
var doc2=app2.openDocument("container2");
为了从两个不同的Spotfire服务器加载报告,我该如何实现?
答案 0 :(得分:0)
因此,如果我使用诸如Spotfire实例实例化报告 “ spotfire.webPlayer ”将触发哪个Spotfire服务器?
Spotfire 7.6及更高版本使用Spotfire服务器作为作为节点安装的Webplayer的负载平衡。因此,基于Spotfire服务器的请求将转到该服务器管理的Webplayer节点。
如果要在特定的服务器/ Webplayer实例上运行报告,请执行以下步骤:
答案 1 :(得分:0)
我不知道它是否可以工作,但是如果您错开脚本会怎样?
<script src="https://spotfire-next.cloud.tibco.com/spotfire/js-api/loader.js"></script>
<script>
var serverUrl = "https://spotfire-next.cloud.tibco.com/spotfire/wp/";
var analysisPath = "/Samples/Expense Analyzer Dashboard";
var customizationInfo = new spotfire.webPlayer.Customization();
var app = new spotfire.webPlayer.Application(serverUrl, customizationInfo,analysisPath);
var doc=app.openDocument("container");
</script>
<script src="https://spotfire.cloud.tibco.com/spotfire/wp/GetJavaScriptApi.ashx"></script>
<script>
var serverUrl2 = "https://spotfire.cloud.tibco.com/spotfire/wp/";
var analysisPath2 = "/Samples/Expense Analyzer Dashboard2";
var customizationInfo2 = new spotfire.webPlayer.Customization();
var app2 = new spotfire.webPlayer.Application(serverUrl2, customizationInfo2, analysisPath2);
var doc2=app2.openDocument("container2");
</script>
您可以下载其中一个loader.js并手动添加一个前缀,然后将该前缀加载到您的站点并引用它。
您可以将它们构建在单独的页面中,然后将它们拉入iframe(如果不是太复杂的页面)。
这绝对是一个问题,因为JavaScript会在最后一个函数中覆盖相同的命名函数。