我尝试使用javascript + html将一个Tableau报表嵌入到网页中,并创建一些按钮/栏来与其进行交互。
但是,我在第一步中停留:显示报告。
我在这里学到了第一个例子:http://onlinehelp.tableau.com/samples/en-us/js_api/tutorial.htm
。
这个例子效果很好。我可以看到网页中显示的Tableau报告,所有按钮/控件都可以正常工作。
所以我在javascript函数initializeViz()
中进行了一些更改,以便以相同的方式显示我的报告,如下所示:
function initializeViz() {
var placeholderDiv = document.getElementById("tableauViz");
var url = "file://localhost/C:/reports/Resilience.twb";
var options = {
width: placeholderDiv.offsetWidth,
height: placeholderDiv.offsetHeight * 20,
hideTabs: true,
hideToolbar: true,
onFirstInteractive: function () {
workbook = viz.getWorkbook();
activeSheet = workbook.getActiveSheet();
}
};
viz = new tableau.Viz(placeholderDiv, url, options);
}
上述功能停止显示任何内容。我已经在浏览器中检查了本地文件链接file://localhost/C:/reports/Resilience.twb
,但它确实有效。
所以我真的很困惑,因为我只进行了最小的更改,并且本地文件的URL链接有效,那么可能导致问题的原因是什么?请帮助我,任何想法都表示赞赏。
答案 0 :(得分:2)
你确定你的路径表示是否正确?你说C:/reports/Resilience.twb存在,但localhost类型路径通常是file:/// localhost:port / path /的形式,C:对我来说似乎很奇怪。尝试使用“开始”菜单中的“运行”(在Windows上)并键入' \ localhost \'并从那里导航以找到完整的路径。
修改强>: 据我所知you cannot display a desktop dashboard file on a webpage。您必须将其发布到tableau服务器。因此,您的URL必须指向视图而不是文件。我制作了培训页面的本地副本并修改了var选项(高度),如上所述,并使用教程视图和我可以访问的另一个进行测试,并且在两种情况下都可以使用。
检查此文档: http://onlinehelp.tableau.com/current/online/en-us/embed.htm