새 탭의 javascript window.location


124

사용자를 일부 URL로 전환하고 window.location있지만이 URL은 브라우저의 동일한 탭에서 열립니다. 새 탭에서 열리기를 원합니다. window.location으로 할 수 있습니까? 이 작업을 수행하는 다른 방법이 있습니까?



window.location요구 사항은? 아니면 다른 JS 솔루션을 제공 할 수 있습니까?
Khez 2011 년

@Khez : 다른 JS를 제공 할 수 있습니다.
Muhammad Imran Tariq 2011 년

답변:


28

브라우저 확장 프로그램을 작성하지 않는 한 이렇게 할 수있는 방법이 없다고 생각합니다. window.open사용자가 새 탭에서 새 창을 열도록 설정 한 브라우저를 사용 하고 기대할 수 있습니다.


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

두 번째 매개 변수는 새 창에서 열리는 것입니다. Jakob Nielsen의 유익한 기사 를 읽는 것을 잊지 마십시오. :)


10
하지만 브라우저가 팝업 설정을 차단했다면 어떻게 될까요? 이것은 웍하지 않을 것입니다.
pregmatch

@Alex meh ... 정말 "정답"이 아닙니다. 팝업 창을 막는 Firefox에서 이것을 시도하면이 코드가 실패합니다.
TARKUS

Edge 84의 북마크릿에서 작업했습니다.
Ryan Rodemoyer

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');

팝업이 차단 된 경우 동일한 탭에서 열립니다.


놀라운 OR 논리
Hammad Sajid

1
감사합니다! 이것은 훌륭하게 작동했습니다.
thenomadicmann

2

팝업으로 이동하는 대신 개인적 으로이 솔루션이 마음에 들었습니다.이 질문 스레드 JavaScript : location.href to open in new window / tab?

$(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();

    });

작업 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.