history.js プラグイン ( https://github.com/browserstate/history.js/ ) を使用して、ページ上の要素を開いたときに特定の一意の URL を指定しています。
予想どおり、これは HTML5 ブラウザーではうまく機能しますが、プラグインは HTML4 ブラウザー (つまり、Internet Explorer) では必要なことを十分に行っていません。
基本的に、ここに見られるように、プラグインのドキュメントで概説されているのと同じ落とし穴があります:
ハッシュを使用する場合、これらの問題は避けられません。
ホームページから始めなかった場合、URL が汚染される
ただし、私の URL はこれほど悪くはありませんが、ハッシュがスローされることを除けば、その URL は使用可能です。私の場合は必要ないので、最後に suid を削除することもいいでしょうが、それが不可能な場合は問題ありません。
私のURLは次のようになります。
http://domain.com/sitename/main/item/109
そして、これは IE での結果です。
http://domain.com/sitename/#main/idea/109?&_suid=13812466306670658 ...
ドキュメントから収集できる限り、私の唯一のオプションは HTML4 フォールバックを無効にすることでした。つまり、IE では何も起こりません。
HTML4フォールバックオプションを放棄する方法があるかどうか疑問に思っていますが、それでも代わりにHTML5ソリューションを使用します(URLを同じ方法で変更するだけで、別の方法で..方法が使用されていることを知っていますHTML5 ソリューションでは機能しません)。または、HTML4 ソリューションの実装方法を変更して、このプロジェクトのニーズに合わせる方法が他にあるとしたら?
更新:私自身の調査では、ハッシュを使用せずに HTML4 準拠のブラウザーの URL を変更することは不可能であることがわかったようです。私は現在、いくつかの回避策をプロジェクトに統合して、URL がハッシュを使用するようにしています。これは実際には答えではないので、まだこの質問を開いたままにしておきます。また、100% 正しいかどうかさえわかりません。