Email or username:

Password:

Forgot your password?
Top-level
Blue

@skobkin да все должно быть просто - обычно клики на ссылки работают без жаваскрипта, средняя кнопка как открытие в новой вкладке это тоже дефолтное поведение которое так работает без какого либо вмешательства разработчика. Однако можно повесить на элемент событие click, в нем посмотреть какой кнопкой мыши был клик и если там окажется средняя то можно открыть новую вкладку с произвольным адресом а поведение по умолчанию прямо из джаваскрипта заблокировать через preventDefault. Самый сложный участок когда здесь это определение нужного url, остальное это буквально 3-4 строки @drq @Gargron

3 comments
Alexey Skobkin

@blue @drq @Gargron
Спасибо. Я начал вспоминать как эти события работают.
Это звучит чуть менее хреново, но всё равно, как мне кажется, идёт против идеи оставлять пользователя на его сервере - люди ведь новыми вкладками могут пользоваться не осознавая децентрализованную суть федивёрса.

P.S. Этот метод ломает другую консистентность ведь, не? Нажав средней кнопкой так ты попадёшь на другой сервер, а если вызовешь контекстное меню ссылки и нажмёшь там "открыть в новой вкладке" - останешься на своём.

Blue

@skobkin хах, да, так скорее всего и произойдет и, действительно, консистенстность нарушится, по крайней мере если это нативное браузерное контекстное меню. (Кстати, пока я искал как бы это обойти нашел пост с history). Тут остается тогда либо писать своей жаваскриптовое контекстное меню, в таком случае, что плохо, инвазивно, ведет в адаптивно-кроссбраузерный гемор либо смириться( @drq @Gargron

Go Up