| 
	| 
	
	| 
		
	| 
			
			 
			
				04.07.2016, 23:18
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 13.03.2013 
						Сообщений: 1,572
					 
		
 |  |  
	| показываю, что событие не на click стоит вешать, а на изменение хеша |  |  
	| 
		
	| 
			
			 
			
				04.07.2016, 23:24
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| Poznakomlus,
    ок если нужна только ссылка, если важно вернутся назад в нужное место, тогда код не рабочий или я чего-то не понимаю. |  |  
	| 
		
	| 
			
			 
			
				04.07.2016, 23:33
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 13.03.2013 
						Сообщений: 1,572
					 
		
 |  |  
	| 
	
 
	| Сообщение от рони |  
	| если важно вернутся назад в нужное место |  
	
 этo я уже с ваших примеров копипастил изменение истории 
есть специальное событие по работе с хешами 
если мы работаем с хешами то логичнее его использовать 
я же показал как определяется хеш и как при изменении истории он затирается |  |  
	| 
		
	| 
			
			 
			
				04.07.2016, 23:48
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| Poznakomlus,тогда может history.pushState заменить на history.replaceState  в вашем коде?
 |  |  
	| 
		
	| 
			
			 
			
				05.07.2016, 00:04
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 13.03.2013 
						Сообщений: 1,572
					 
		
 |  |  
	| 
	
 
	| Сообщение от рони |  
	| в вашем коде |  
	
 
	
 
	| Сообщение от Poznakomlus |  
	| я уже с ваших примеров копипастил |  
	
 код не мой копипаст 
я только про обработчик событий говорю как навешивать, внутренняя реализация это уже к разработчику, что ему надо и как вести историю 
ведь здесь же нет проверки поддерживает ли броузер историю вообще, если докапываться |  |  
	| 
		
	| 
			
			 
			
				05.07.2016, 12:03
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 14.01.2015 
						Сообщений: 12,989
					 
		
 |  |  
	| 
	
 
	| Сообщение от avalan4e |  
	| Но нет, действительно, так не работает. |  
	
 Хеш, это навигация внутри страницы, то есть только на клиенте и браузер на сервер его не передает. |  |  
	| 
		
	| 
			
			 
			
				05.07.2016, 12:28
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 04.07.2016 
						Сообщений: 20
					 
		
 |  |  
	| Poznakomlus,
 рони , 
 Благодарю от всей души. Всё работает как часики. 
Вот так теперь выглядит мой код для обработки события перехода по хешу:
 
<script type="text/javascript">
  window.onhashchange = function () {
    console.log(location.hash);
    history.replaceState('', '',  '/url');
  };
</script>
А как теперь сделать то же самое при переходе по якорю с другой страницы? window.onload делает это до перехода по хешу. В результате правильная строка при бесполезном переходе. |  |  
	| 
		
	| 
			
			 
			
				05.07.2016, 12:35
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 04.07.2016 
						Сообщений: 20
					 
		
 |  |  
	| 
	
 
	| Сообщение от laimas |  
	| Хеш, это навигация внутри страницы, то есть только на клиенте и браузер на сервер его не передает. |  
	
 Да, я уже разобрался, благодарю. |  |  
	| 
		
	| 
			
			 
			
				06.07.2016, 13:05
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 04.07.2016 
						Сообщений: 20
					 
		
 |  |  
	| Уважаемые форумчане, проблема не решается обращением к моим знаниям js и спекулятивному шаманству с бубном в этой области. Повторяю свой вопрос: как убрать хеш из адресной строки при переходе с другой страницы по ссылке типа:  
<a href="url#hash">
  Проблема в том, что событие hashchange не происходит, а навешивание изменения ссылки при загрузке окна приводит к тому, что переход осуществляется уже по этой изменённой ссылке. Надеюсь на вашу отзывчивость, т. к. безрезультатно часами застреваю над этой задачей. |  |  
	| 
		
	| 
			
			 
			
				06.07.2016, 15:02
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| avalan4e, 
 убрал ... может так попробовать пока знатоки не откликнулись.
  
<script type="text/javascript">
  window.onload = function () {
    location.hash && window.setTimeout(function() {
  history.replaceState('', '',  '/url');
},300)
  };
</script>
 |  |  
 
 
 
 |  |