3

私は Web 3D アプリを開発しており、次のタグを iframe 内のモデルを含む外部 .html ファイルに実装するコードを Javascript で作成しました。

<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 ブラウザーのデバッグの結果は、必要なコードが挿入されていることを示していますが、実際のモデルは適切なテクスチャで更新されていません。

見逃しているものがあるはずですが、解決策が見つかりません。どんな助けでも大歓迎です。

4

1 に答える 1

2

修正済み:問題はGoogleChromeでした。私はMozillaFirefoxでWebアプリをテストしましたが、すべてが機能します:)

さらに、子htmlファイルのJavascriptコードを試しましたが、Chromeで動作します。親のhtmlファイルがiframeブロック内の子のhtmlファイルをロードするときに動作を拒否するだけです。

于 2013-03-23T12:06:04.550 に答える