android標準ブラウザの問題解決:ver3_4 ajaxで取得したコンテンツをコンテナにセットするとこでouterHTML
初期アクセス
既存コンテンツをコンテナに流し込むとこ
ここは問題なく動作している。
//fragmentを生成して、既存のコンテンツを必要な部分のみfragmentに移動します。 var mainFragment = document.createDocumentFragment(); mainFragment.appendChild(document.getElementById('maincol')); var subFragment = document.createDocumentFragment(); subFragment.appendChild(document.getElementById('navigation')); //既存コンテンツのbodyをなくし、新しいコンテナを書き込みます。 document.body.innerHTML = ""; document.body.appendChild(self.container.outerContainer); console.log(mainFragment); //新しいコンテナに退避しておいた既存コンテンツを書き込みます。 self.container.mainContainer.appendChild(mainFragment); self.container.subContainer.appendChild(subFragment);
ajaxで取得したDOMをコンテナにセットするとこ
これだと、innerになってしまい、div id=maincolがなくなってしまう。
var main = newDom.getElementById('maincol'); var fragment = document.createDocumentFragment(); self.container.mainContainer.innerHTML = main.innerHTML;
こう変更したら意図通り動作するように・・
innerHTML ではなく、 outerHTMLをセットしました。
var main = newDom.getElementById('maincol'); var fragment = document.createDocumentFragment(); self.container.mainContainer.innerHTML = main.outerHTML; //ここでコンテナの動的スタイルをセットします。 self.setHeightToContainers(self);