我正在开发一个 Web 3D 应用程序,并在 Javascript 中生成了一些代码,这些代码在 iframe 中将以下标记实现到带有模型的外部 .html 文件中。
在<appearance>
外部 .html 文件的 X3D 代码块中的元素中:
<texture id="XXX" repeats="true" repeatt="true" url="" scale="true"
hidechildren="true">
<img src="" attr=".../BMW.jpg" style="display: none; visibility: hidden;">
</texture>
单击按钮后,将上述代码放置在 iframe 中的适当块中的 Javascript 代码:
ogl = true;
function toggleTexture(){
if (!ogl) {
var t = document.createElement("Texture");
t.setAttribute("id", "XXX");
t.setAttribute("repeatS", "true");
t.setAttribute("repeatT", "true");
var imgElement = document.createElement("img");
imgElement.setAttribute("src", "../HomeFurniture/assets/BMW.jpg");
t.appendChild(imgElement);
var iframe = document.getElementById("frame");
var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;
innerDoc.getElementById("anApp").appendChild(t);
innderDoc.x3dom.reload();
} else {
var iframe = document.getElementById("frame");
var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document;
var ot = innerDoc.getElementById("anApp");
ot.removeChild(innerDoc.getElementById('XXX'));
}
return false;
}
Chrome浏览器调试结果显示插入了需要的代码,但实际模型没有更新合适的纹理。
一定有一些我想念的东西,但我找不到解决方案。任何帮助,将不胜感激。