Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.07.2016, 23:18
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

показываю, что событие не на click стоит вешать, а на изменение хеша
Ответить с цитированием
  #12 (permalink)  
Старый 04.07.2016, 23:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,078

Poznakomlus,
ок если нужна только ссылка, если важно вернутся назад в нужное место, тогда код не рабочий или я чего-то не понимаю.
Ответить с цитированием
  #13 (permalink)  
Старый 04.07.2016, 23:33
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от рони
если важно вернутся назад в нужное место
этo я уже с ваших примеров копипастил изменение истории
есть специальное событие по работе с хешами
если мы работаем с хешами то логичнее его использовать
я же показал как определяется хеш и как при изменении истории он затирается
Ответить с цитированием
  #14 (permalink)  
Старый 04.07.2016, 23:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,078

Poznakomlus,
тогда может history.pushState заменить на history.replaceState в вашем коде?
Ответить с цитированием
  #15 (permalink)  
Старый 05.07.2016, 00:04
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от рони
в вашем коде
Сообщение от Poznakomlus
я уже с ваших примеров копипастил
код не мой копипаст
я только про обработчик событий говорю как навешивать, внутренняя реализация это уже к разработчику, что ему надо и как вести историю
ведь здесь же нет проверки поддерживает ли броузер историю вообще, если докапываться
Ответить с цитированием
  #16 (permalink)  
Старый 05.07.2016, 12:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от avalan4e
Но нет, действительно, так не работает.
Хеш, это навигация внутри страницы, то есть только на клиенте и браузер на сервер его не передает.
Ответить с цитированием
  #17 (permalink)  
Старый 05.07.2016, 12:28
Интересующийся
Отправить личное сообщение для avalan4e Посмотреть профиль Найти все сообщения от avalan4e
 
Регистрация: 04.07.2016
Сообщений: 20

Poznakomlus,
рони,
Благодарю от всей души. Всё работает как часики.
Вот так теперь выглядит мой код для обработки события перехода по хешу:
<script type="text/javascript">
  window.onhashchange = function () {
    console.log(location.hash);
    history.replaceState('', '',  '/url');
  };
</script>

А как теперь сделать то же самое при переходе по якорю с другой страницы? window.onload делает это до перехода по хешу. В результате правильная строка при бесполезном переходе.
Ответить с цитированием
  #18 (permalink)  
Старый 05.07.2016, 12:35
Интересующийся
Отправить личное сообщение для avalan4e Посмотреть профиль Найти все сообщения от avalan4e
 
Регистрация: 04.07.2016
Сообщений: 20

Сообщение от laimas
Хеш, это навигация внутри страницы, то есть только на клиенте и браузер на сервер его не передает.
Да, я уже разобрался, благодарю.
Ответить с цитированием
  #19 (permalink)  
Старый 06.07.2016, 13:05
Интересующийся
Отправить личное сообщение для avalan4e Посмотреть профиль Найти все сообщения от avalan4e
 
Регистрация: 04.07.2016
Сообщений: 20

Уважаемые форумчане, проблема не решается обращением к моим знаниям js и спекулятивному шаманству с бубном в этой области. Повторяю свой вопрос: как убрать хеш из адресной строки при переходе с другой страницы по ссылке типа:
<a href="url#hash">
Проблема в том, что событие hashchange не происходит, а навешивание изменения ссылки при загрузке окна приводит к тому, что переход осуществляется уже по этой изменённой ссылке. Надеюсь на вашу отзывчивость, т. к. безрезультатно часами застреваю над этой задачей.
Ответить с цитированием
  #20 (permalink)  
Старый 06.07.2016, 15:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,078

avalan4e,
убрал ... может так попробовать пока знатоки не откликнулись.
<script type="text/javascript">
  window.onload = function () {
    location.hash && window.setTimeout(function() {
  history.replaceState('', '',  '/url');
},300)
  };
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как убрать все символы из строки кроме цифр и тире Jizzy Элементы интерфейса 3 07.02.2015 20:11
Принять параметр из адресной строки Alexby Общие вопросы Javascript 1 30.05.2014 01:26
Убрать на конце строки квадратные скобки hrundel Общие вопросы Javascript 2 20.04.2014 14:09
Запуск скрипта с адресной строки olga153b Events/DOM/Window 3 24.09.2012 11:34
Чтение массива из адресной строки Xalyavbich Общие вопросы Javascript 0 27.06.2012 15:56