javascript - 对于 Tableau Online 中托管的仪表板,如何使用 Tableau Javascript API 将仪表板嵌入网页中?
问题描述
我正在尝试使用 Tableau Online 中托管的仪表板重新创建Tableau 在此处提供的示例。Tableau 的另一篇文章讨论了根据仪表板的托管位置修改 JS API 的 URL,我已尝试遵循该文章。
尽管生成的嵌入应该需要显示登录名,但我希望登录名显示在我网页上的嵌入输出/iframe 中。请参阅包含的代码。相反,我收到了CORS错误:
拒绝显示' https://10ay.online.tableau.com/site/jpl/views/JPLDashboard_V05_JUE/Awareness?:iid=2&:size=800,700&:embed=y&:showVizHome=n&:bootstrapWhenNotified=y&:tabs= n&:apiID=host0#navType=1&navSrc=Parse '在一个框架中,因为它将'X-Frame-Options'设置为'sameorigin'。
我采取的方法正确吗?如果可以使用其 JS API 嵌入 Tableau Online 仪表板,我该如何避免 CORS 错误?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>JPL Dashboard</title>
<script type="text/javascript" src="https://online.tableau.com/javascripts/api/tableau-2.min.js"></script>
<script type="text/javascript">
function initViz() {
var containerDiv = document.getElementById("vizContainer"),
//url = "http://public.tableau.com/views/RegionalSampleWorkbook/Storms",
url = "https://10ay.online.tableau.com/site/jpl/views/JPLDashboard_V05_JUE/Awareness?:iid=2",
options = {
hideTabs: true,
onFirstInteractive: function() {
console.log("Run this code when the viz has finished loading.");
}
};
var viz = new tableau.Viz(containerDiv, url, options);
}
</script>
</head>
<body>
<div id="vizContainer" style="width:800px; height:700px;"></div>
<script type="text/javascript">
(function () {
window.onload = function () {
initViz();
};
})();
</script>
</body>
</html>
解决方案
确保用于嵌入视图的 URL 来自 Tableau Online 中的“共享”选项:
- 在 Tableau Online 中,导航到遇到问题的视图。
- 单击共享按钮。
- 复制链接部分中的 URL 链接。
- 将嵌入代码配置为使用此 URL,而不是浏览器地址栏中的 Tableau Online URL。
如果正确,请尝试<meta http-equiv="X-Frame-Options" content="allow">
在 HTML 标头中添加:
我希望它是有帮助的,吉吉
推荐阅读
- google-cloud-platform - Python 包安装在 GCP 实例上,但当我通过 Jupiter Lab 启动笔记本时未显示
- c++ - 在 push_back() 之前保留非空 std::vector 的正确方法
- java - Gradle Multi Project - 在“jar”之前为每个 java 库项目应用“干净”任务
- git - 远程拒绝删除 git 远程分支
- powerbi - 我想要一个 power bi 中的脚本,它将计算从一个月到上个月的百分比增加或减少
- c - 如何在输出中添加空格
- python - 如何在python中重建libmem_crc32_direct CRC函数?
- c# - 通过传递选中的复选框的 ID 来操作数据库中的数据
- java - 正则表达式在作为模式属性传递时不起作用
- javascript - 在箭头函数中访问对象的参数