Вот сценарий, описывающий проблему:
Пользователь A имеет браузер с поддержкой состояния HTML5 и отправляет эту ссылку пользователю B:
http://domain.tld/node
Пользователь B, который использует браузер без поддержки состояния HTML 5, переходит на другой узел и отправляет ссылку обратно пользователю A:
http://domain.tld/node#!/another-node
Но когда пользователь A щелкает ссылку, вместо /another-node
отображается содержимое /node
.
Запрос jQuery $.address()
плагин от Asual показывает, что он интерпретирует«адрес хэш-банга» в качестве значения хеш-функции:
> $.address.value()
"/node#/another-node"
> $.address.path()
"/node"
> $.address.hash()
"/another-node"
(Любопытно, что «!» удаляется из хэш-банга.)
Может ли эта неоднозначность быть преодолена путем изменения моей реализации?
Я мог бы отключить поддержку API истории, если в URI найден хэш-банг, но я бы предпочел этого не делать.