Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Отловить переход по ссылке (https://javascript.ru/forum/events/83613-otlovit-perekhod-po-ssylke.html)

voraa 25.01.2022 10:37

Отловить переход по ссылке
 
Есть обычная ссылка
<a href="url">бла-бла</a>

Как отловить, что по ней произошел переход?
click - не подходит. Юзверь может нажать правую клавишу и выбрать "открыть в новой вкладке"
Ловить нажатие правой клавиши - тоже не выход. Юзверь может выбрать что то другое, например "скопировать ссылку".
А нужно отлавливать факт того, что по этой ссылке был переход.

Есть какие-нибудь идеи?

ksa 25.01.2022 11:45

Цитата:

Сообщение от voraa
Есть какие-нибудь идеи?

А на обработке того УРЛ можно что-то поймать?
Это другая страница или что-то еще?

Если это другая страница - можно прямо там осуществить такой "перехват"...

voraa 25.01.2022 11:48

Цитата:

Сообщение от ksa
Это другая страница или что-то еще?

В том то и дело, что это совершенно другая страница, расположенная где угодно.

ksa 25.01.2022 12:41

Цитата:

Сообщение от voraa
это совершенно другая страница, расположенная где угодно

И ты там управления не имеешь?

voraa 25.01.2022 17:18

Каким бы прекрасным был мир, если бы я имел управление "где угодно"!

voraa 25.01.2022 20:28

Гугленье показало, что ничего сделать нельзя.
Придется mousedown ловить с небольшой потерей точности.

ksa 25.01.2022 20:29

voraa, тогда ты не сможешь узнать побывал ли кто-то по той ссылке на той странице на все 100%.
Поскольку возможности пользовательского JS весьма ограничены...

voraa 25.01.2022 22:18

Цитата:

Сообщение от ksa
тогда ты не сможешь узнать побывал ли кто-то по той ссылке на той странице на все 100%.

Я и пишу, что с небольшой потерей точности.
Немногие будут кликать правой клавишей от нечего делать, что бы просто посмотреть на меню.
Даже если он скачает (там могут быть документы в pdf, и даже word попадается) или просто скопирует ссылку, то уже можно считать, что интерес именно к этому документу проявлен.

Белый шум 26.01.2022 09:38

voraa,
сам не пробовал, но вроде атрибут ping должен помочь:
https://ruseller.com/lessons.php?rub=1&id=2020
https://caniuse.com/ping

voraa 26.01.2022 10:26

Цитата:

Сообщение от Белый шум
сам не пробовал, но вроде атрибут ping должен помочь:

Спасибо, информация интересная, но не понятно как ее использовать.
При переходе на указанный в ping url будет отправляться POST запрос с телом 'ping'. А как узнать url ссылки по которой перешли?
В примерах там как то каждому url в href, соответствует свой url в ping
Но у нас нет знаний, какой url может поставить пользователь в href.
Если бы мы делали конкретный сайт, зная конкретные ссылки, то могли бы замутить серверную часть похожую на rest, с маршрутами...
Мы делаем API. Пользователь сам решает какие ссылки ему ставить. (Обычно это ссылки на статьи в различных архивах, журналах....)


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