[解決済み] HTML5 History API (Pushstate?)を使うための良いチュートリアル [終了しました]。
質問
AJAXで読み込んだコンテンツのディープリンク問題を解決するために、HTML5 History APIを利用することを検討していますが、なかなか踏み出せずにいます。どなたか良いリソースをご存知でしょうか?
リンクを送られた人がJSをオンにしていない可能性を許容する素晴らしい方法だと思うので、これを使いたいのです。多くのソリューションは、JSを持つ人が持たない人にリンクを送るときに失敗します。
私の最初の調査は、JS内のHistory APIとpushStateメソッドを指しているようです。
解決方法は?
この機能に関する素晴らしいチュートリアルについては、Mozilla Developer Network のページが必要です。 https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history
残念ながら、HTML5 History API はすべての HTML5 ブラウザで異なる実装になっており(一貫性がなくバグが多い)、HTML4 ブラウザ用のフォールバックがありません。幸いなことに 歴史.js は HTML5 ブラウザの相互互換性を提供し(すべての HTML5 ブラウザが期待どおりに動作することを保証します)、オプションで HTML4 ブラウザのハッシュ フォールバックを提供します(データ、タイトル、pushState、replaceState 機能のサポートの維持も含まれます)。
History.jsの詳細はこちらでご覧いただけます。 https://github.com/browserstate/history.js
Hashbangs VS Hashes VS HTML5 History APIに関する記事は、こちらをご覧ください。 https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling
関連
-
JavaScriptの関数この指摘の問題を説明
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
JSアレイループと効率解析の比較
-
Vueのイベント処理とイベントモディファイアの解説
-
Vueのフィルタの説明
-
[解決済み] テスト
-
[解決済み] 配列の反復処理に "for...in "を使用するのは、なぜ良くないのでしょうか?
-
[解決済み] jQueryを使用してハイパーリンクのhref属性を変更する方法
-
[解決済み] HTML5/Canvas/JavaScriptを使用してブラウザ内のスクリーンショットを撮影する
-
[解決済み] HTML5を使用したカスタムデータ属性のjQueryセレクタ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptの関数この指摘の問題を説明
-
Vue Element-uiは、アイコンを追加するためのツリーコントロールノードを詳細に実装しています。
-
vue ディレクティブ v-html と v-text
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み】ローカルファイルを開くことができません - Chrome: ローカルリソースの読み込みが許可されていない
-
[解決済み】"フォームが接続されていないため、フォームの送信がキャンセルされました "というエラーの取得について
-
[解決済み】「X-Frame-Options」を「SAMEORIGIN」に設定したため、フレームでの表示を拒否された。
-
[解決済み] Web API エラー - このリクエストはブロックされました; コンテンツは HTTPS で提供されなければなりません
-
[解決済み】 env: node: macにそのようなファイルやディレクトリはありません
-
[解決済み】「.addEventListener is not a function」なぜこのエラーが発生するのか?