javascript window.location у новій вкладці


123

Я переадресовую користувача до деякого URL-адреси, window.locationале цей URL відкривається в тій самій вкладці браузера. Я хочу, щоб це було відкрито в новій вкладці. Чи можу я це зробити за допомогою window.location? Чи є інший спосіб зробити цю дію?



Чи window.locationє вимога? Або можна запропонувати інші рішення JS?
Хез

@Khez: можуть бути запропоновані інші JS.
Мухаммед Імран Тарік

Відповіді:


27

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


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

Другий параметр - це те, що робить його відкритим у новому вікні. Не забудьте прочитати інформативну статтю Якоба Нільсена :)


10
але що робити, якщо ваші браузери заблокували налаштування в спливаючому вікні? це не прокинеться.
pregmatch

@Alex meh ... не дуже "правильна" відповідь. Спробуйте це у Firefox, де я запобігаю спливаючим вікнам, цей код виходить з ладу.
TARKUS

Працював у моїй закладці на краю 84.
Райан Родемейер

14

Це працює для мене на Chrome 53. Ще ніде не тестували:

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

6

з jQuery це ще простіше і працює також на Chrome

$('#your-button').on('click', function(){
       $('<a href="https://www.some-page.com" target="blank"></a>')[0].click();    
})

6

Можна навіть використовувати

window.open('https://support.wwf.org.uk', "_blank") || window.location.replace('https://support.wwf.org.uk');

Це відкриє його на тій самій вкладці, якщо спливаюче вікно заблоковано.


Дивовижна АБО логіка
Хаммад Садід

1
Дякую! Це спрацювало чудово.
thenomadicmann

2

Замість того, щоб вискакувати, мені особисто сподобалося це рішення, згадане в цій темі питання JavaScript: location.href, щоб відкрити в новому вікні / вкладці?

$(document).on('click','span.external-link',function(){
        var t               = $(this), 
            URL             = t.attr('data-href');        
        $('<a href="'+ URL +'" target="_blank">External Link</a>')[0].click();

    });

Робочий приклад .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.