首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态更新X3DOM模型中的纹理

动态更新X3DOM模型中的纹理
EN

Stack Overflow用户
提问于 2013-03-23 01:46:05
回答 1查看 1.1K关注 0票数 3

我正在开发一个Web3D应用程序,我在Javascript中生成了一些代码,这些代码在iframe中实现了外部.html文件与模型的以下标记。

在外部.html文件的X3D代码块的<appearance>元素中:

代码语言:javascript
复制
<texture id="XXX" repeats="true" repeatt="true" url="" scale="true"
hidechildren="true">
<img src="" attr=".../BMW.jpg" style="display: none; visibility: hidden;">
</texture>

Javascript代码,它在我单击一个按钮后将上面的代码放在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浏览器的调试结果表明,插入了所需的代码,但实际模型没有使用适当的纹理更新。

一定有什么地方我漏掉了,但是我找不到解决方案。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2013-03-23 20:06:05

修复:问题出在Google Chrome。我在Mozilla Firefox中测试了Web应用程序,一切正常:)

此外,我在子html文件中尝试了Javascript代码,它可以在Chrome中运行。当父html文件在iframe块中加载子html文件时,它就会拒绝工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15576740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档