• ベストアンサー

Javascriptでページ内容全体を書き換える方

すいません、もしご存じの方がおられましたら、教えて頂けたらと思いまして。。 Javascriptでページ全体(<!DOCTYPE html PUBLIC ~ </html>まで)を動的に書き換えて、なおかつ画面をスクロールさせずに元の位置が表示される方法を教えてください。 document.write(pageHtml); のようにやると、書き換わるのですが画面がトップに移動してしまって困っています。 何かヒントだけでもいただけたら嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.3

ほとんど同じなら全て書き換える必要はないように思えますが、必要な部分だけ書き換えるのではダメなのでしょうか?

gogoyamada
質問者

お礼

まだ完全に解決はできていませんが、とりあえず「スクロールさせずに更新」というのはできましたので、ご報告させていただきます。 document.body.innerHTML = '新しいHTMLのbody内' としました。 ただ、これではIEについて画像が全部消えるので、まだ調査はしていきたいと思います。 ありがとうございます。

gogoyamada
質問者

補足

アドバイスいただきましてありがとうございます。 当初はそのようにしてましたが、書き換え箇所が多く、またロジックも複雑ですので、質問の内容で対応できるのがベストと考えています。ほとんど同じと申し上げましたのは、レイアウトのお話でして、実際は何十カ所と書き換えないといけません。。ご説明が足らず申しわけありません。

その他の回答 (2)

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

私の中では、 > ページ全体を動的に書き換えて と > 元の位置が表示される は同時に成り立たないのですが…。 全部書き換わっているんでしょ? 全く別のページを表示しているっていうことだよね? 元の位置は、どこを表示したら良いのでしょう?

gogoyamada
質問者

お礼

まだ完全に目的は達成していませんが、まずは上記のようにさせていただきました。ありがとうございます。

gogoyamada
質問者

補足

ご説明不足で申し訳ないです。。ページが書き換わるというのもほとんど同じようなページになります。表示されている数値や文言が変わる程度で、レイアウトがほとんどかわりません。なので、前のスクロールバーのポジションが維持できたらと思っています。何か方法があれば助かるのですが。。

  • 0909union
  • ベストアンサー率39% (325/818)
回答No.1

それはブラウザの機能であって、コントロールする物でない。 つまり偽サイトに(または釣りサイト)へ誘導するための技術ですよね。 そんなのおしえられるわけねいだろう。

gogoyamada
質問者

お礼

まだ完全に目的は達成していませんが、まずは上記のようにさせていただきました。ありがとうございます。

gogoyamada
質問者

補足

すいませんおっしゃられる意味がよくわからないです。。 今回は画面の下の方でPOSTしたときに画面が上にスクロールしてしまうとユーザーにわざわざ元の位置にスクロールしていただかないといけないために対策を考えております。元々Ajaxで部分的に書き換えをしていたのですが、改造要望があり、要件的にこの全書き換えができたら工数がぐっと抑えられると考えております次第でして。。

関連するQ&A

専門家に質問してみよう