Я пытаюсь получить ссылку, которая будет открыта на текущей странице, или когда нажатие команды/ctrl (и т. Д.) Откроется в новой вкладке/окне на основе настроек пользователей. Сейчас я использую что-то вроде этого:Ссылка на Javascript с возможностью открытия в новой вкладке/окне
<a href='http://example.com' onclick="setTimeout(function() {window.location='/some_local_page'}, 10); return false;">Foo!</a>
Это позволяет мне нажать на ссылку и он открыть локальную страницу, но у меня явно правой кнопкой мыши и выберите Открыть в новом окне/окна. Я уверен, что это проблема, но я не могу найти правильную комбинацию ключевых слов google/stackoverflow. :)
Это может помочь разъяснить:
<a href='http://example.com' onclick="some_javascript_function(); return false;">Foo!</a>
В этом случае щелчок следует назвать some_javascript_function() и должен открыть "http://example.com" в новой вкладке командной/Ctrl + Click/window и ничего не делать с текущей страницей.
Почему вы пытаетесь вообще что-либо сделать? Это поведение по умолчанию в большинстве браузеров. Если вы просто не вернете false и не используете бизнес window.location и не переопределяете поведение по умолчанию клика (которого вы не являетесь), это должно работать автоматически. –
Что вы пытаетесь сделать? Почему вы используете 'setTimeout' для перенаправления меня на совершенно другую страницу из ссылки, на которую я нажал? Я весьма озадачен. Какую ссылку вы хотите открыть и где вы хотите ее открыть? У вашего 'onclick' есть' return false', который обычно отключает браузер от ссылки. –
Мессинг по умолчанию браузера поведение почти всегда звучит как плохая идея. – kirilloid