Chromeのプッシュステートを(テスト目的で)無効にするにはどうすればよいですか?
切り替えを簡単にするプラグインを知っている場合はボーナス:)
プッシュステートロジックにdavis.jsを使用しています。
Chromeのプッシュステートを(テスト目的で)無効にするにはどうすればよいですか?
切り替えを簡単にするプラグインを知っている場合はボーナス:)
プッシュステートロジックにdavis.jsを使用しています。
history.pushState = function (){};
//An empty function so if it is used, it doesn't throw any errors
それをコンソールに入れてください。多田!コンテンツスクリプトを使用して、ページ上でそれを実行するChrome拡張機能を簡単に作成できます。
Davis.jsルートがまだ機能している理由は、リンクをクリックするとルートが直接実行されるためです。onPushStateイベントがないため、戻るボタンと進むボタンを使用してもルートがトリガーされないことがわかります。
pushStateをサポートしていないブラウザーで何が起こるかをエミュレートしたい場合は、Davis.jsがサポートをチェックする方法をいじくり回すことができます。これは、Davis.supported関数で行われます。
その関数をオーバーライドして、常にfalseを返すことができます。これは、pushStateをサポートしていないブラウザーで通常発生することです。必要に応じて、これをDavis.js拡張機能にまとめることができます。例として、ブロックiOS拡張機能を参照してください。