• 締切済み

history.backで戻ったときのjs処理

はじめまして、javascript初心者です。 仕事でwebサイトを作っておりますが、わからないことがあり質問させていただきました。 history.backで前のページに戻ったときにアニメーションを実行させない方法はございますでしょうか。 トップページに外部から訪れた場合のみ、アニメーションを実行させています。 判別はreferrerを使用し、自ドメインを含んでいなかったら実行というような処理をしています。 トップページにはお問い合わせフォームがあり、お問い合わせフォーム→確認画面→戻るを押下した際にアニメーションが実行され、ページのトップへ戻ってしまいます。 「戻る」ボタンには「onClick="history.back()"」を使用しています。 aタグのリンクで処理をすればアニメーションは実行されないのですが、フォームの入力内容がリセットされてしまいます。 入力内容を維持したまま、アニメーションを実行させない方法はございますでしょうか。 ご教示いただけますようお願い申し上げます。

みんなの回答

回答No.2

それじゃあ申し訳ないけど、ここの回答欄で全部説明するのは厳しい。 そのフォームがどんなふうに作られているかで作り方が変わってくるし。 仕事で作るなら調べて、いろいろ試してみて。 ここで言われたとおりに実装したって、理解しなかったらまた何か問題発生するだろうし。

hogeco
質問者

お礼

Taiyonoshizuku様 ありがとうございます。 仰る通りだと思います。私なりにいろいろ調べたのですがわからず、時間もなかったのでこちらで質問させていただきました。もう少し調べて、勉強していきたいと思います。

回答No.1

たぶん、フォームの確認画面から戻る処理をhistory.back()でさせるんじゃない方法にするのが一番早いと思う。 入力内容をhiddenに持たせるとかセッションに持たせるとかで。 というか、その飛ばされるアニメーションがフォーム関連のルートに出てくるのが間違いな気が?

hogeco
質問者

お礼

さっそくご教示ただきましてありがとうございます。 web制作を始めたばかりで知識が乏しく、仰ることが理解できませんでした。 フォームの実装もフリーのphpを使っており、知識が全くございません。 こんな状況でwebサイトを作っていること自体お恥ずかしい限りです。

関連するQ&A

  • history.back() について

    ある入力フォームを作成しています。 入力エラーがあった場合、エラーメッセージを表示するとともに、 history.back() を使用した「戻る」ボタンを表示させます。 この戻るボタンを押して入力フォーム画面へ戻った場合、 入力した内容がフォームに残っているはずなのですが、 WindodwsXP、IE6 の環境では、クリアされてしまうことがわかりました。 これはIEの設定によって回避できるのでしょうか? もし、回避できないとしたら、history.back() に替わるJavaScriptって あるのでしょうか?値をクリアしないで前のページに戻るには、 やはりJavaScriptにたよらず、値の受け渡し処理をやって あげないとダメでしょうか? ご存知の方いらっしゃいましたら教えてください。 よろしくお願いします。

  • [戻る]のヒストリについて

     ヒストリについて、過去の質問を見るのですがいまいちわからなくって質問させて頂ます。             フォーム入力 → フォーム確認画面 -------------------------------------------------  フォーム入力内容が消えてない ← [戻る]をクリック      有効期限切れじゃない こんなことやりたいのですが、どうすればいいんでしょうか? <A HREF="#" onClick="history.back(); return false;">[戻る]</A> っと過去の質問に書いてあったのですが、これって、期限切れなしで、フォーム入力の内容も、絶対そのままの状態で戻るのでしょうか? そして、このhtmlタグだけで、javaScriptなしで良いのでしょうか? javaScript全くわかりませんので、できればスクリプト記載して教えていただけるとありがたいです。

  • history.backについて

    お世話になります。 ASP.net(VB.net)、IE6で作成しています。 フォームに「戻る」ボタンを設定して、 クリックすると1画面前に戻るという処理をしたいのですが、うまくいきません。 記述方法としては 1.HTMLに直接書き込む <asp:Button id="btnPre" style="Z-INDEX: 103; LEFT: 416px; POSITION: absolute; TOP: 320px" runat="server"Height="40px" Width="106px" Text="戻る" onClick="history.back()"> </asp:Button> 2.jsファイルを呼び出す ※aspx側 Me.btnPre.Attributes("onClick") = "pageBack()" ※jsファイル側 function pageBack(){ history.back(); } 3.クリックイベントでJavaScriptを埋め込む Private Sub btnPre_Click -以下略- Dim wkScript As String wkScript = wkScript & "<SCRIPTlanguage=""JavaScript"">" & vbCrLf wkScript = wkScript & " history.back();" & vbCrLf wkScript = wkScript & "</SCRIPT>" & vbCrLf RegisterStartupScript("Jscript", wkScript) End Sub のいずれかで考えているのですが、 1の場合 'history' は 'ASP.MainMenu_aspx' のメンバではありません。 (画面名は「MainMenu_aspx」です) 2と3の場合は、前の画面を読み込みにいくのですが、(タスクバーで確認) 表示は「MainMenu_aspx」のままです。 記述の方法がおかしいのか、もしくは同じ現象が起こって回避方法をご存知の方、いらっしゃいましたら、 教えてください。 お願いします。

  • history.backで戻ったページを更新したい

    onClick='history.back();'で戻ったページを、 戻ったタイミングで更新(リロード)したいのですが、 どうすればよいでしょうか。 「JavaScript」か「PHP」で書く方法を教えてください

  • OBJECTタグによるhistory.back非動作現象

    現在JSPベースのWebアプリ開発を進めております。 その中でOBJECTタグを用いてFLASHアプリを配置しているのですが、同ページ内にてOnclickイベントにてJavascriptのhistory.backを実行するボタンを配置しており、なぜかまったく動作しません。 <OBJECT CLASSID="****"> <PARAM *****> <PARAM *****> <EMBED SRC="****"> </OBJECT> <INPUT TYPE="BUTTON" ONCLICK="history.back()"> という感じです。 (かなり簡素化して記載しております) この場合にOBJECTタグをコメントアウトすると正常にhistory.backするため、なんらかOBJECTタグとhistroyとのよろしくない関連があるのかと、色々と調査をしておりますがなかなか情報が得られません。 完全に静的なHTMLではこのような現象は発生した経験は無いので、JSPとの兼ね合いも視野に入れて調べているのですが・・・ 何か情報をお持ちの方、いらっしゃいませんでしょうか? ちなみに、alert()などは正常に動作します。 ONCLICK="alert('hoge1');history.back();alert('hoge2')">とした場合は、 hoge1,hoge2共に動作し、history.backのみ何も反応がありません。 なお、history.lengthには整数値が入ってきておりますので、historyそのものは生きていると思われますし、またalert(history.back) とした場合には、function Back(){ [Native Code]}と表示されるため、Functionそのものはきちんと実行されているものと思います。 何か原因となるような情報や、解決策、回避策がお分かりの方教えて頂ければと思います。 動作環境:IE6SP2 ちなみにFirefox1.5で同ページの動作を確認すると、恐らくOBJECTタグを無視するだろう事から、正常にhistory.backが動作します。 どなたか同じような経験をされた方、いらっしゃいますでしょうか。

  • history.back使用時、ページトップへ移動

    お世話になります。 javascriptのonClick="history.back()"で前ページに戻った際、ページの最上部に移動したいのですが、どのように書けば良いでしょうか。 history.back先のページに window.onload = function () {$(window).scrollTop(0);} と書いたのですが、最上部に移動せず悩んでおります。 お時間がある際に、ご回答いただけましたら嬉しいです。

  • [戻る]やhistory.backでの遷移制御について

    お世話になります。 ※同様の質問がありましたら申し訳御座いません。 只今、携帯からもPCからもアクセス可能なサイトをHTMLとJavaScriptで作成しています。 サイトのIndexページを携帯版トップとしています。 携帯はJavaScriptが使用できないとの事なので、以下のようにロード時にPCサイトのトップに遷移させる事で振り分けています。 <body onload="location.href='pc/index.html'"> 携帯とPCの振り分けは問題ないのですが、問題点としてPC版トップに遷移された後にブラウザの[戻る]や[BackSpace]を押下されると、Indexページに戻り再びPC版トップに遷移されてしまいます。 別ウィンドウで開かれた場合や直接アクセスされた場合は問題ないのですが、別サイトからリンクでアクセスされPC版トップが遷移された場合に、その別サイトに戻ることが出来ないので困っています。 携帯版トップ(Indexページ)またはPC版トップで何らかの制御をする事で別サイトに戻ることは可能なのでしょうか。またその方法などご教授頂ければと思います。 ※↓こんな事も試しました。 別サイトからリンクされた際に、携帯版トップ(Indexページ)でPC版トップを別ウィンドウで開き、開いた直後にhistory.backで別サイトに戻るような処理で遷移ではなく常に別ウィンドウで開かれるような制御を入れてみたのですが・・・ ブラウザによってはポップアップの警告が出たりと・・・微妙でした。 よろしくお願い致します。

  • メール送信フォームとhistory.back()

    現在PHPでメール送信フォームを作っています。画面表示としては、 入力画面→確認画面→送信という流れなのですが、確認画面で「戻る」ボタンを設置して入力画面に戻れるようにしたいと思っています。 そこで、入力画面を当初はhtmlとし、確認画面にhistory.back()を設置してうまく入力値が入っている状態になっていたのですが、入力画面をphpファイルにしたとたんhistory,back()すると空っぽの入力画面が表示されてしまうようになりました。 確認画面で「戻る」ボタンを設置し、入力画面に戻るにはどうすればいいでしょうか?

    • ベストアンサー
    • PHP
  • history.back()-ページ内リンク除外

    JavaScript初心者です。 今回いろいろなページからアクセスされるページにhistory.back()を利用して、戻るボタンを配置したいと思っています。 <a href="javascript:history.back();">では、そのページ内でページ内リンクを使用してしまうと、前のページには当たり前ですが戻れないです。 ページ内リンクを押した場合を除きたい場合どのように記述すればいいのか分からず途方にくれています。大変恐縮ですがご教示頂ければ幸いです。 宜しくお願い致します。

  • Firefoxのhistory.backの動作

    Firefoxについて質問です。 history.backを使っているのですが、動作が異なり困っています。 Firefoxでhistory.backを利用する場合、「そのページにonloadが記載されていても動作しない」というのが普通だと思うのですが、動作してしまう端末があります。 動作しない、を前提に作られているページで、今までは問題なかったのですが、問題の端末(複数)は昨年11月に購入したもので、その端末のみonloadが実行されるという状況です。 動作は異なりますが、Firefoxのバージョンは全て「37.0.2」の最新バージョンです。 確認したのは以下です。どちらの端末も設定は同じでした。 about:configをFirefoxのアドレス入力欄に入れて、以下の設定を確認しました。 ○network.http.use-cache→true ○browser.sessionhistory.max_total_viewers→-1 お力添えをお願いいたします。 よろしくお願いいたします。

専門家に質問してみよう