Как реализовать работу ajax-подгрузки данных в каталоге и кнопку назад в браузере?
И будут у вас как в контакте мобильные браузеры вылетать и подвисать. Сделайте нормальный паджинатор.
Бесконечный скролл — это рюшечка, чтобы выделиться/выпендриться. У магазина должен быть более консервативный предсказуемый интерфейс, где можно посмотреть сразу позицию из конца списка, середины, дать на неё ссылку и т.п.
Писал камент, и браузер слетел, поэтому кратко:
например весь контент в блоке wrapper

Загрузка инфы об отдельном товаре должна происходить с помощью аякса в блок wrapper, заменяя прежнее содержимое. Но предварительно, перед заменой wrappera надо сохранить в кеш все содержимое и узнать насколько была проскролена страница. 
Здесь обязателен хеш-тег, чтобы при нажатии на кнопку «назад» страница не перезагружалась.

Далее при нажатии на кнопку «назад», кеш обратно вставляем в блок wrapper и скролим страницу вниз.

Засыпаю, поэтому может быть немного непонятно. Чтобы понять, смотрим пример.

Пример: pastehtml не работает, поэтому вот jsfiddle.net/7W87S/2/
или так fiddle.jshell.net/7W87S/2/show/

Думаю чтобы не использовать хеш-теги, для хранения контента можно использовать локальное хранилище. А высоту скрола хранить в куках