問題タブ [html5-history]
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.
javascript - JavaScript を使用して新しいページを読み込まずにブラウザで URL を変更する
現在のページに何らかの影響を与える可能性がありますが、ユーザーがリロードまたはブックマークを押すと新しい URL が使用されるようにブラウザの URL も変更する JavaScriptアクションを作成するにはどうすればよいですか?
また、戻るボタンで元の URL をリロードできるとよいでしょう。
JavaScript の状態を URL に記録しようとしています。
javascript - HTML5 History API (Pushstate?) を使用するための優れたチュートリアル
HTML5 履歴 API を使用して、AJAX で読み込まれたコンテンツのディープ リンクの問題を解決することを検討していますが、うまくいくのに苦労しています。良いリソースを知っている人はいますか?
リンクが送信された場合に JS がオンになっていない可能性を許容するための優れた方法と思われるため、これを使用したいと考えています。JS を持つ人がそうでない人にリンクを送信すると、多くのソリューションが失敗します。
私の最初の調査では、JS 内の History API と pushState メソッドを指摘しているようです。
html - HTML5履歴がサポートされているかどうかを検出します
使用しているブラウザがHTML5履歴APIをサポートしているかどうかを確認するにはどうすればよいですか?
あなたがここで見ることができるようにhttp://caniuse.com/#search=historychrome+ ff4と他のいくつかだけがこれをサポートしています、そして彼らがこれをサポートできないなら私は何か他のことをしたいと思います。
このチェックのためにある種のifステートメントを作成するにはどうすればよいですか?
javascript - History.jsで戻るボタンをクリックしたときにコンテンツを復元する
ローカルテストアプリケーションにHistory.jsを実装しました。すべてが機能しているようですが、ブラウザの戻るボタンを押しても、以前のコンテンツは復元されません。
ユーザーが戻るボタンを押したときに、実際にコンテンツを手動で再度ロードする(つまり、別のajax呼び出しを行う)必要がありますか?では、githubはどのようにそれを行うのでしょうか?コードツリーの[戻る]ボタンをクリックしても、別のajax呼び出しを行わないようです。
これが私のコードです:
data.clipsは、キーとしてhtmlオブジェクトのIDを含み、値として実際のhtmlコンテンツを含むjson配列です。例えば
'#header'=>'ヘッダーdivのコンテンツ'
前述のように、交換は正常に機能します。ヘッダーに乱数を出力します。リンクをクリックするたびに、ヘッダーに別の乱数が吐き出されます。ただし、戻るボタンを押すと番号は同じままで、タイトルのみが復元されます(乱数も復元されます)。
javascript - ハッシュタグ (フラグメント識別子) VS Javascript History API
どちらの方がよいですか?フラグメント識別子を使用しています...
...それとも新しい Javascript History API ですか?
または、両方を使用する必要がありますか?(フォールバック経由)
側面:
- 互換性/サポート
- スピード
- 快適
javascript - html5履歴ナビゲーション:ページの読み込み時を除いてpopstateはトリガーされません
ajaxナビゲーションを備えたWebアプリがあれば、html5の履歴ナビゲーションを利用するつもりです。
ただし、popstateイベントにバインドすると、トリガーされません。次の場合は、ページの読み込みを除きます。
HTML5が利用可能な場合(正しく検出されれば、デモはChromeでもFFと同様に機能します):
動作しないもの:
- リンクをクリックしても、popstateコールバックhistoryChangeHandler()は呼び出されません。つまり、クリックされたものは印刷されますが、イベントは印刷されません。
私が試したこと:
- setTimeoutを使用してpushState呼び出しを延期します。
- e.preventDefault(); falseではなくtrueを返します
- また、div-sにアタッチして、trueを返します
何が機能しますか:
- historyChangeHandler()は、ページの読み込み時に呼び出されます。
- historyChangeHandler()は、戻るボタンを押すと呼び出されます。
- historyChangeHandler()は、進むボタンを押すと呼び出されます。
- コンソールからhistory.pushState({url: "/ test"}、 ""、 "/ test")を呼び出す場合は、historyChangeHandler()!
私が見逃している手がかりはありますか?
html5-history - HTML5 History API:明確な履歴を維持しますか?
History APIを使用すると、ブラウザの履歴に状態オブジェクトを保存できます。このデモを試してみてください(ただし、他のデモと同じ動作です。お気に入りを選択してください:)):
- いくつかのリンクをクリックして、いくつかの履歴を作成します
- ブラウザの履歴をクリアします(完全、またはこのサイトのみ)
- あなたはまだ歴史を歩くことができます
履歴をクリアすると影響があると思っていましたが、そうではありません...
誰かがこの動作を説明できますか?
html - HTML 5 の履歴 API
私は Google chrome を使用しており、Dive into HMTL 5 に記載されている検出手法の 1 つを使用して、History API のサポートをテストしました。しかし、次のコードは機能していないようです。誰かが私が見逃しているものを教えてもらえますか?
URL「try.html」がブラウザの履歴に20回挿入されると予想されるforループは機能していないようです。「try.html」という名前のページからこの関数を呼び出しました。ページの読み込み時に関数「demo」が実行されます。ページ「try.html」には、通常のテキスト行が含まれているだけです。私がやりたいことは、ユーザーがページ「try.html」をロードした後、ブラウザーの戻るボタンをクリックしても、履歴には 20 のエントリが含まれている必要があるため、同じページにとどまることです。同じページ、つまり「try.html」ですが、そうではありません。なんで?
jquery - jQuery bind popstate イベントが渡されない
History API の小さなデモをコーディングしています。そして、私はこれに苦労しています:
「前へ」ボタンをクリックすると、「ポップ:未定義」がログに記録されます...
しかし、代わりにこれを行うと、期待どおりに動作します:
今度は 'pop: [object Object]' をログに記録します...
つまり、jQuery はイベント オブジェクトをコールバックに渡さないようです。
jQuery に問題はありますか? それとも私は何かを台無しにしましたか?
javascript - History.pushstateのコールバックはありますか?
私のGoogle-fuは何も表示しません。
これを行うとき:
関連するウィンドウコールバックはありますか?
私はこれがあることを知っています:
これは、ユーザーが戻るボタンを押したときに聞くのに最適です。ただ、URLが変わったらいつでも聴きたいので、どうしたらいいのかわかりません。
URLが変更されたときのグローバルコールバックはありますか?