Лучше не в печенье, а в localStorage какой-нибудь класть. Печенье отправляется на сервер в каждом запросе, а серверу-то позиция скролла точно нафиг не нужна.
Положил работающий пример вот тут:
jsfiddle.net/mvasilkov/2mfewoy0
Код вот такой:
var $window = $(window)
/* Restore scroll position */
window.scroll(0, localStorage.getItem('scrollPosition')|0)
/* Save scroll position */
$window.scroll(function () {
localStorage.setItem('scrollPosition', $window.scrollTop())
})
Два довольно очевидных замечания:
- Можно запросто обойтись в данном случае без jQuery, это не усложнит код
- Если нужна совместимость со старыми браузерами, можно взять любую библиотеку для эмуляции localStorage, например, вот эту: https://github.com/marcuswestin/store.js/