ссылка запускает JavaScript, открывающий другую страницу. как сделать это в новой вкладке, если пользователь использует среднюю или правую кнопку мыши - PullRequest
0 голосов
/ 08 июня 2011

У меня есть ссылка в левой навигационной панели: панель инструментов

Этот javascript открывает ссылку на основе переданных параметров.

Все работает нормально, но я хотел бы иметь возможность использоватьвозможности браузера открывать ссылки на вкладке (когда пользователь использует средний щелчок или выбирает «Открыть ссылку в новом теге» в меню правой кнопки мыши).Хотя это не работает для ссылок, обрабатываемых с помощью кода JavaScript.

Существует множество причин, по которым это не является поведением браузера по умолчанию (например, функция javascript может только выполнить некоторую проверку и остаться на странице ...браузер не может знать, что может сделать js, или если в результате этого действия появится новое окно / диалог, поэтому нет смысла открывать новый тег в результате среднего щелчка ...).Но, надеюсь, есть обходной путь для поведения по умолчанию.

Есть идеи, как это можно сделать?

Приветствия, Стеф.

1 Ответ

1 голос
/ 08 июня 2011

Javascript ссылки выполняются в контексте страницы, где они вызываются. Если вы «откроете» ссылку в новой вкладке / окне, код javascript будет выполнен в новом окне, то есть пустым, и, скорее всего, завершится ошибкой.

Браузер может попытаться добавить запрашиваемую функцию путем клонирования страницы, содержащей ссылку, и выполнения кода javascript в контексте клонированной страницы. Но это, скорее всего, сломает некоторые критические сайты (представьте, например, что ваш сайт онлайн-банкинга работает с javascript, поэтому при открытии ссылки в новой вкладке / окне клонирование исходного окна может привести к дублированию транзакции).

...