Представим, что есть некая страница, где некая ссылка приводит к выполнению каких-то операций на самой странице (без перехода на другую страницу).
Пусть это будет анимированное открытие текста песни.
Как, например, здесь:
http://aruseni.alwaysdata.net/jonobacon/
При нажатии на «Lyrics» открывается текст песни. Но вот если нажать на неё же средней кнопкой мыши, то ничего интересного не получится — в новой вкладке откроется та же самая страница.
Сходу придумал два пути решения:
1. Можно в href ссылки писать хэштэг, уникальный для песни. Например #endlessdays. Соответственно, JS в таком случае может получать из адреса хэштэг и запускать во вновь открывшейся вкладке соответствующую анимацию (но при этом остаётся первая вкладка, на которой не меняется вообще ничего).
2. Можно вместо ссылки сделать какой-нибудь обычный span, стилизованный под ссылку. Тогда средний щелчок мыши не будет приводить к открытию новой вкладки. Но тут есть другой нюанс — у меня в Firefox, например, если нажать среднюю кнопку мыши, когда курсор при этом не находится над ссылкой, то происходит открытие URL, занесённого на данный момент в буфер обмена (в случае, естественно, если он там есть).
В общем, оба решения мне не нравятся. При этом, надо отметить, что никто об этом на самом деле особо не переживает (вероятно, правильно делают). К примеру, если во «ВКонтакте» найти какую-нибудь музыку с текстом и вот точно так же нажать по названию песни средней кнопкой мыши («ну, что, вроде бы ссылка, хочу открыть ссылку в новом окне» — вероятно, многие в первый раз так и пробовали делать, тем более, что раньше во «ВКонтакте» при переходе по ссылке в той же вкладке проигрывание музыки останавливалось), то аналогично — на странице в текущей вкладке ничего не изменится, а в новой вкладке откроются «новости».