새 탭의 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.