問題タブ [popstate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
281 参照

javascript - popstate イベント外の history.pushState から event.state にアクセスする

popstate イベントの新しい URLを、ユーザーのウィンドウにあった最後にアクセスした URL と比較しようとしています。

これは event.state を使用すると簡単だと思いましたが、このオブジェクトには onpopstate 内からしかアクセスできないようです。おそらく私は何か間違ったことをしているのでしょうが、ドキュメントを 3 日間精査しても何も得られません。

私がやろうとしていることは非常に簡単です:

history.pushState と history.replaceState を使用してイベント オブジェクトをさまざまな場所に設定していますが、このオブジェクトをデータにアクセスしたい場所に取得したいと考えています。

0 投票する
1 に答える
844 参照

javascript - ページの読み込み時に popstate イベントを防止する方法 (Android ブラウザー)

popstateページの読み込み時にイベントが発生しないようにするにはどうすればよいですか? (これは Android ブラウザで発生します)

Android ブラウザーで次のスニペットを実行し、結果を確認します。(スニペットを実行する別のリンク: https://jsfiddle.net/heoceze0/1 )

0 投票する
0 に答える
1037 参照

javascript - window.history.pushState を使用した Ajax 呼び出しが popstate の「戻る」ボタンで動作する

プログラム内でユーザーがナビゲートし、window.history.pushState によって生成された履歴がブラウザーの [戻る] ボタンで機能することを望んでいます (何らかの理由でアプリケーションの [戻る] ボタンをクリックしないため)。

戻るボタンを押すのをキャッチするには、次のようにします。

履歴の最後の URL を window.location に取得してそこに送信するにはどうすればよいですか? または、ブラウザにプッシュされた履歴を尊重させるにはどうすればよいですか?

または、URLが何であったかを取得する方法はありますか。

0 投票する
1 に答える
7948 参照

javascript - window.popstate で新しい URL を取得する

window.popstate起動時に新しいページの URL を取得する方法はありますか?

0 投票する
1 に答える
12158 参照

javascript - addEventListener("popstate") が .document に対して起動しない

Ajax を使用し、実際の Ajax ページで .document オブジェクトを使用して popstate イベント ハンドラーを作成しようとしています。

残念ながら、これがトリガーされることはないようです。

私の意図は、ページがリロードされた後、popstate イベント トリガーが自動的に消えることです。

0 投票する
0 に答える
484 参照

javascript - 戻るボタンの後に ajax をロードする

私はウェブサイトを作ろうとしていて、コンテンツをロードするために ajax を使用しています。問題は、送信ボタンをクリックすると別のページが読み込まれているのに、戻ってきたときに ajax が読み込まれていないことです。自分のページをそのままにしたいのです。

ポップ状態イベントを使用してデータをストックし、pushState で履歴のリンクを変更できることは知っていますが、機能しません。ポップ状態イベントは、ボタンをクリックしたときにのみ機能しますが、フォームを送信すると、pushState が呼び出されても機能しません。

これが私のコードです**コメント済み

それは私のポップ状態関数です:

それは私のプッシュ状態関数で、私のサムビットクリックで呼び出されます:

これが明確であることを願っています。ご注意いただきありがとうございます。

0 投票する
1 に答える
94 参照

jquery - 履歴ブラウザが倍増

問題があります。
状況は次のとおりです。サイトが内部にある iframe があります。また、プレーヤー付きのラッパーもあります。
ユーザーがサイト上のリンクに移動したときに停止または更新しないシングルトン プレーヤーにこれが必要です。
ラッパーとiframeの間のかわいい会話にpostMessageを使用して、履歴の変更(onpopstate)をトリガーしようとするので、ユーザーが「進む」の「戻る」をクリックすると、iframeがリロードされます。
私のイベントがストーリーの最初のページでのみ機能する理由がわかりません (そうではないかもしれませんが、まだわかりません)。そして、なぜ歴史のすべての状態がそこで倍増するのですか?
このような:

  1. ミュージックセット
  2. アーティスト
  3. アーティスト番号 34786
  4. 検索ページ
  5. 戻る (これでアーティスト ページが表示されます。iframe は正しく更新されますが、ラッパーの URL とタイトルは同じです)
  6. もう一度戻ります (ラッパーの URL を変更します)

これがトリガーの私のコードです。そして、そのような悪い行動の理由が何であるか教えてください。

ラッパー側

iframe 側

しかし、このトリガーはとにかく動作しません...