2011-09-26 4 views
70

Я переадресую пользователя на какой-то URL-адрес через window.location, но этот URL-адрес открывается на той же вкладке в браузере. Я хочу, чтобы он был открыт на новой вкладке. Могу ли я сделать это с помощью window.location? Есть ли другой способ сделать это?javascript window.location в новой вкладке

+2

Duplicate: http://stackoverflow.com/questions/427479/programmatically-open-new-pages-on-tabs – Samich

+0

Требуется ли 'window.location'? Или могут быть предложены другие решения JS? – Khez

+0

@ Khez: другое JS может быть предложено. –

ответ

13

Я не думаю, что есть способ сделать это, если вы не написали расширение для браузера. Вы можете попробовать использовать window.open и надеяться, что у пользователя есть свой браузер, чтобы открывать новые окна на новых вкладках.

+1

Я не уверен, работает ли это в Safari:/ –

+8

Устаревший ответ, см. User1450789 ниже. – Paul

248
window.open('https://support.wwf.org.uk', '_blank'); 

Второй параметр - это то, что заставляет его открываться в новом окне. Не забудьте прочитать Jakob Nielsen's informative article :)

+4

Это должно быть отмечено как правильный ответ! –

+1

Я согласен! Отметьте это как правильный ответ! –

+1

Вы правы, брат! – 0bj3ct

4

Это работает для меня на Chrome 53. Не проверял где-нибудь еще:

function navigate(href, newTab) { 
    var a = document.createElement('a'); 
    a.href = href; 
    if (newTab) { 
     a.setAttribute('target', '_blank'); 
    } 
    a.click(); 
} 
1

с JQuery его еще проще и работает на Chrome, а

$('#your-button').on('click', function(){ 
     $('<a href="https://www.some-page.com" target="blank"></a>')[0].click();  
}) 
Смежные вопросы