我使用x3dom和d3创建了一个可视化。当我以单个html文件(html和js代码在一个文件中)的形式执行它时,它工作得很好。当我包括在我的网站上,x3dom不再正确加载。
我破坏了加载x3dom脚本的问题。我有一个主要的一面,有以下的头:
<meta charset="UTF-8">
<title>Title</title>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link rel="stylesheet" href="https://x3dom.org/download/1.7.2/x3dom.css" />
<link rel="stylesheet" href="stylesheet.css">
<script defer
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"></script>
<script defer src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<script defer src="https://d3js.org/d3.v5.min.js"></script>
<script defer src="https://x3dom.org/download/1.7.2/x3dom-full.js"></script>
<script defer src="JS/form.js"></script>这方面包括一个表单,该表单由另一个javascript处理,它使用jquery ()方法调用提交时的可视化脚本。可视化脚本被加载(我通过做一些控制台输出来测试它),但是x3dom没有加载。使用以下方法对其进行了测试:
if ( x3d.node() && x3d.node().runtime ) {
// do stuff
else {
console.log("x3dom not ready")
}我的第一个猜测是,包含序列是错误的,但是在单个文件中使用相同的头(我只是删除了延迟标记和网站特定的包含(比如加载本地css和js)。
那么,如何才能在网站实现中不加载x3dom脚本呢?
编辑
我试着从主html页面调用可视化脚本,它可以工作。为此,我在脑子里加了一句:
....
<script defer src="JS/form.js"></script>
<script defer src="JS/scatterPlot3d.js"></script>所以问题一定是从另一个js文件中调用它。有什么想法吗?
发布于 2019-07-24 07:33:38
好吧,有个函数
x3dom.reload()解决了问题。
https://stackoverflow.com/questions/57165786
复制相似问题