Отслеживать изменения якорной ссылки

Эта та самая часть ссылки что идет после решетки: #ancor. И как всегда на помощь пришли добрые люди со стековерфлоу. И если бы не стековерфлоу, сейчас так бы так и оставался вопрос как: “инсценировать клик по якорной ссылки?”. И данный поиск хоть и дал результат, но ни единого, дельного ответа. Все уже привыкли что в нашем обществе принято хвастаться “высшим образованием”, а после того как с помощью сурового закона удасться доказать что “высшее образование, выше чем у других”,- цель считается достигнутой и всё. Все понятно, но: “как инсценировать клик по якорной ссылки?”. И люди пытались отвечать на этот вопрос, но их высшее образование помешало включить мозг для разумного сопоставления всех фактов. На этот “необъяснимо но факт” без результатов.

php-htm

Оказалось что вопрос киберфоруме: как отслеживать якорную ссылку, уже когда то задавал именно я. Потом вернулся и сам же на него ответил. ))) Похоже что уметь спрашивать на стековерфлоу - это все равно что иметь суперсилу и гениальные сверхспособности. Потому что ни одно высшее образование не даст столько знаний, сколько их может дать стековерфлоу.

Собственно в чем задача отлавливать клик

Вопрос заключался в необходимости прослушать изменение ссылки. У яваскрипта для этого есть hashchange Дело в том что с непривычки, трудно предположить что нужно прослушивать изменение ссылок. Но именно это и должно помоч для отлова клика с передачей якоря в функции. Если это не обычная якорная ссылка, а отображаемая метка, подгрузка контента из базы данных. Где контент генерируется с помощью скрипта, а якорь служит для отображения в серпе уникального текста.

Прослушка изменения ссылки, для запуска фанкшн. Получается вызов анонимного фанкшна с отловом изменений для вызова фанкшн с действием на это изменение.

window.onhashchange=()=>{ function(){ console.log(‘сработало!’); } }

Консоль лог выведет: “сработало”, если в адресной строке добавить якорь. Обертка window.onhashchange даёт возможность слушать изменения в ссылках и запускать их при необходимости.

Аналогичная техника может сработать и для мультилендинга. Но ютэм метка отлавливается:

if(window.location.search== "?utm_metka"){ console.log(“utm-metka ПОЙМАНА”); }

< - поймает ?utm_metka. В случае же с якорем “location.hash” иногда может возникнуть необходимость менять значение в реальном времени для отображения нового содержимого без полной перезагрузки жирной страницы. Тогда то и приходит на помощь JS со своим hashchange.

Amir (ChikChicly SpaceHands Forsmazhorovich)

to list
https://qucu.ru/comments/