Tableau api IE Edge中未定义window.tableau
在将Tableau视觉效果嵌入页面时,我们包括Tableau JavaScript API。我们根据一些支持线程尝试了不同的方法:Tableau api IE Edge中未定义window.tableau,tableau-api,microsoft-edge,Tableau Api,Microsoft Edge,在将Tableau视觉效果嵌入页面时,我们包括Tableau JavaScript API。我们根据一些支持线程尝试了不同的方法: 其他浏览器(包括IE11)都可以加载脚本和窗口。tableau被定义并用于在页面上创建视觉效果。边缘浏览器获取脚本,如开发人员工具的“网络”选项卡中所示,但window.tableau保持未定义状态 Tableau服务器版本:10.5.23(10500.20.0117.2214)64位Windows 寻找建议 编辑:问题似乎源于安全策略。Edge不会从VPN内
其他浏览器(包括IE11)都可以加载脚本和窗口。tableau被定义并用于在页面上创建视觉效果。边缘浏览器获取脚本,如开发人员工具的“网络”选项卡中所示,但window.tableau保持未定义状态
Tableau服务器版本:10.5.23(10500.20.0117.2214)64位Windows
寻找建议
编辑:问题似乎源于安全策略。Edge不会从VPN内部加载脚本。然而,在外部计算机上使用Edge,一切都可以正常工作 我试图从其官方网站上引用for Tableau JavaScript API
代码:
基本嵌入
函数initViz(){
var containerDiv=document.getElementById(“vizContainer”),
url=”http://public.tableau.com/views/RegionalSampleWorkbook/Storms",
选项={
希德塔布斯:没错,
onFirstInteractive:函数(){
log(“在viz完成加载后运行此代码”);
}
};
var viz=新的tableau.viz(containerDiv、url、options);
//创建一个viz对象并将其嵌入容器div中。
}
MS Edge旧版浏览器(Microsoft Edge 44.18362.449.0)中的输出:
MS Edge Chromium浏览器(Microsoft Edge版本83.0.478.13(官方版本)beta版(64位))中的输出:
您可以看到代码运行良好,并且正在页面上创建可视化
我建议你可以试着在你这边运行这个例子,让我们知道结果
如果问题仍然存在,请尝试通知我们您用于进行此测试的MS Edge浏览器的确切版本?请提供您的示例代码,以便在我方重现该问题。它可以帮助我们正确理解这个问题。我们将尝试检查它,并尝试为您提供进一步的建议 因此,无论我如何尝试,对tableau API javascript的请求总是从缓存接收:清除缓存,将“always refresh from server”(始终从服务器刷新)设置为on,更改文件名,将?v=1之类的参数附加到脚本url。没什么帮助。请求和响应的主体始终为空。这可以解释为什么window.tableau是未定义的。我需要强制Edge从服务器获取JSAPI。似乎有什么东西阻止了Edge加载脚本。发生这种情况时,我的笔记本电脑已连接到我们的内部VPN。使用来自外部的边按预期工作。非常感谢。
<!DOCTYPE html>
<html>
<head>
<title>Basic Embed</title>
<script type="text/javascript" src="https://public.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",
options = {
hideTabs: true,
onFirstInteractive: function () {
console.log("Run this code when the viz has finished loading.");
}
};
var viz = new tableau.Viz(containerDiv, url, options);
// Create a viz object and embed it in the container div.
}
</script>
</head>
<body onload="initViz();">
<div id="vizContainer" style="width:800px; height:700px;"></div>
</body>
</html>