- ベストアンサー
Javascriptでページ内容全体を書き換える方
すいません、もしご存じの方がおられましたら、教えて頂けたらと思いまして。。 Javascriptでページ全体(<!DOCTYPE html PUBLIC ~ </html>まで)を動的に書き換えて、なおかつ画面をスクロールさせずに元の位置が表示される方法を教えてください。 document.write(pageHtml); のようにやると、書き換わるのですが画面がトップに移動してしまって困っています。 何かヒントだけでもいただけたら嬉しいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ほとんど同じなら全て書き換える必要はないように思えますが、必要な部分だけ書き換えるのではダメなのでしょうか?
その他の回答 (2)
- edomin7777
- ベストアンサー率40% (711/1750)
私の中では、 > ページ全体を動的に書き換えて と > 元の位置が表示される は同時に成り立たないのですが…。 全部書き換わっているんでしょ? 全く別のページを表示しているっていうことだよね? 元の位置は、どこを表示したら良いのでしょう?
お礼
まだ完全に目的は達成していませんが、まずは上記のようにさせていただきました。ありがとうございます。
補足
ご説明不足で申し訳ないです。。ページが書き換わるというのもほとんど同じようなページになります。表示されている数値や文言が変わる程度で、レイアウトがほとんどかわりません。なので、前のスクロールバーのポジションが維持できたらと思っています。何か方法があれば助かるのですが。。
- 0909union
- ベストアンサー率39% (325/818)
それはブラウザの機能であって、コントロールする物でない。 つまり偽サイトに(または釣りサイト)へ誘導するための技術ですよね。 そんなのおしえられるわけねいだろう。
お礼
まだ完全に目的は達成していませんが、まずは上記のようにさせていただきました。ありがとうございます。
補足
すいませんおっしゃられる意味がよくわからないです。。 今回は画面の下の方でPOSTしたときに画面が上にスクロールしてしまうとユーザーにわざわざ元の位置にスクロールしていただかないといけないために対策を考えております。元々Ajaxで部分的に書き換えをしていたのですが、改造要望があり、要件的にこの全書き換えができたら工数がぐっと抑えられると考えております次第でして。。
お礼
まだ完全に解決はできていませんが、とりあえず「スクロールさせずに更新」というのはできましたので、ご報告させていただきます。 document.body.innerHTML = '新しいHTMLのbody内' としました。 ただ、これではIEについて画像が全部消えるので、まだ調査はしていきたいと思います。 ありがとうございます。
補足
アドバイスいただきましてありがとうございます。 当初はそのようにしてましたが、書き換え箇所が多く、またロジックも複雑ですので、質問の内容で対応できるのがベストと考えています。ほとんど同じと申し上げましたのは、レイアウトのお話でして、実際は何十カ所と書き換えないといけません。。ご説明が足らず申しわけありません。