Его нелогично, однако его немного неряшливо.
Используя событие window.hashchange, вы можете сделать несколько классных вещей. Вы просто должны помнить, чтобы отменить событие при нажатии, чтобы он не делал двойное обновление. Вы должны определить, когда происходит событие, и, соответственно, изменить форму, когда пользователь использует кнопку «Назад», он изменит форму на состояние URL-адреса, но вы должны различать, когда изменяется хеш путем выполнения скрипта или пользователь нажимает назад/вперед. У меня есть код, который делает это, если вы хотите посмотреть.
При создании хеш-URL-адресов для электронной торговли они должны соответствовать фактическим URL-адресам, поэтому они могут быть индексируемыми, если вы перечисляете перестановки для SEO. Они также должны работать с использованием истории для back/forward. Я написал для этого код, и вы можете пометить его на AJAX или фактической ссылке URL (www.kitgui.com/docs и www.klim.com/en-us/shop и многие другие вы можете увидеть через www.emeraldcode.com).
По-моему, это не так, и я замечаю, что Microsoft даже использует автоматическое преобразование, чтобы сделать // в некоторых случаях, когда я запускаю MVC3. –