Да, в опере
window.location.replace метод работает не так как надо. Если мы изменяем урл с перезагрузкой страницы, то все хорошо. К примеру:
visit site1.com
go site2.com
javascript: window.location.replace('?q=1')
go back // пользователь на site1.com
А вот с хэшем тоже нужен был такой номер, но никакого решения так и не нашел, кроме как через одно место:
- делаем url hash polling(200мс)
- фиксируем переход по картинкам в галереи
- если заметили что урл изменился на предыдущий и при этом мы не зафиксировали это изменение, значит юзер нажал кнопку назад в браузере
- вызываем метод history.go(-N), где N количество переходов по картинкам в галереи + 1, таким образом пользователь окажется на нужной нам странице.
Но я быстро отказался от этого решении, остановившись на поллинге и просто показывая предыдущую картинку. Этим самым мы сохраняем более удобную навигацию по галерее.