通过Javascript更新X3D内联url时出错



我正在使用x3dom来做一些动态的x3d工作。

我正在加载场景并对其进行很好的操作,即操作ElevationGrid的大小和纹理,我一点问题都没有。

我有一个"重置"按钮,它基本上将场景放回默认的空白场景(我已经定义(。为了实现这个重置,我在按钮的Javascript处理程序中更改内联节点的url属性。

这是内联节点,因为它最初是与页面一起加载的。记住,这非常有效。

<Inline id="Base" DEF="Base" nameSpaceName="Base" mapDEFToID="true" url="/GameRoom/LoadScene/00000000-0000-0000-0000-000000000000" contentType="model/x3d+xml"></Inline>

这是点击处理程序中实际更改url 的代码行

document.getElementById("Base").setAttribute("url", '"/GameRoom/LoadScene/00000000-0000-0000-0000-000000000000"');

当场景重新加载时,我在x3dom调试窗口中立即出现错误

ERROR: updateField: setValueByStr() NYI for boolean

当场景重新加载时,我用来操纵场景中元素的脚本例程不再工作。我所说的不再工作的意思是,我仍然可以很好地选择DOM元素(遍历客户端代码并正常查看所有内容。但对DOM元素的更改不会生效,脚本或x3dom调试窗口中也不会出现进一步的错误。

该错误表明预期的bool存在某种问题,我是否必须在内联节点上设置其他内容?

任何想法都将不胜感激!

对于任何遇到类似问题的人,我已经改变了我的方法。

我不是在内存中构建一个全新的内联节点,然后替换DOM中已经存在的那个。这似乎非常有效。

最新更新