データ バインディングに Knockout.js を使用し、クライアント側 (ハッシュベース) URL のルーティングに Sammy.js を使用する単一ページ アプリケーションがあります。
ただし、Internet Explorer で奇妙な問題が発生しています。リンクをクリックすると、ブラウザのアドレス バーの URL が変更されることがありますが、対応する Sammy ルートは実行されません。
毎回発生するわけではありませんが (ただし、一貫してエラーを再現できます)、IE10 でのみ発生します (Chrome は毎回正常に動作します)。ハードコーディングされた一連のリンクでは同じ問題が発生しないため、Knockout にも関連しているようです。
説明のために、問題を再現するために必要最小限のものを除いてすべてを取り除き、2 つの jsbin の例を作成しました。
例 1 (ノックアウトあり): http://jsbin.com/aretis/2/
問題を確認するには、上記のリンクを開き、[Record #1]、[Baz]、[Record #1] の順にクリックします。レコード 1 の URL はアドレス バーに表示されますが、そのレコードのルートはリストに追加されません。
例 2 (ノックアウトなし): http://jsbin.com/amivoq/1/
この例では、データ バインドされたリストではなく、レコード リンクの静的リストがあります。いずれかのリンクをクリックすると (任意の順序で)、そのルートがリストに追加されます (当然のことです)。
問題を再現するには、これらを IE で実行する必要があることに注意してください。
何か案は?