Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Фиксация страницы при переходе на другую (https://javascript.ru/forum/misc/73743-fiksaciya-stranicy-pri-perekhode-na-druguyu.html)

Lord_Jesus_ 11.05.2018 17:16

Фиксация страницы при переходе на другую
 
Уважаемые разработчики, как можно запомнить место скролинга страницы при переходе на другую, возможно ли это реализовать, если да то подскажите как пожалуйста????

Nexus 11.05.2018 17:27

try {
    if (!window.localStorage)
        throw new Error('LocalStorage disabled');

    localStorage.setItem('scrollTop', window.pageYOffset); //write

    alert('Current scroll: ' + localStorage.getItem('scrollTop')); //read

} catch (e) {
    !!window.console && !!console.error && console.error(e);
}

Lord_Jesus_ 11.05.2018 18:06

Nexus,

После перехода на ссылку положение страницы все равно не сохраняется,,,

Nexus 11.05.2018 19:22

Lord_Jesus_, а у меня работает:
<button type="button" id="button">Reload</button>
<style>button{
	margin:1500px 0;
}</style>
<script>
window.scrollTo(0,+storage('scrollTop')||0);

button.onclick=function(){
	storage('scrollTop',window.pageYOffset);
	location.reload();
};

function storage(key,value){
	try {
			if (!window.localStorage)
					throw new Error('LocalStorage disabled');
					
			return localStorage[(value!==undefined?'s':'g')+'etItem'](key, value);
	} catch (e) {
			!!window.console && !!console.error && console.error(e);
	}
	
	return null;
}
</script>

Lord_Jesus_ 12.05.2018 17:41

Nexus,
Спасибо огромное за вашу помощь

Lord_Jesus_ 13.05.2018 09:41

Nexus,

во всех браузерах работает корректно но в IE не срабатывает, при клике по ссылки просто обновляет текущую страницу, сможете подсказать в чем может быть причина?

рони 13.05.2018 10:13

Lord_Jesus_,
проверяли на сервере?

Lord_Jesus_ 13.05.2018 10:48

рони,
А сервере попробовал, работает....а на локальном нет и именно IE, почему так?

рони 13.05.2018 11:09

Lord_Jesus_,
это долгая история ... примите как данность, может кто-то обьяснит подробнее.


Часовой пояс GMT +3, время: 10:50.