2011-02-28 6 views
273

타사 개발자의 JavaScript 파일이 있습니다. 현재 페이지를 대상으로 대체하는 링크가 있습니다. 이 페이지를 새 탭에서 열어보고 싶습니다.JavaScript : location.href 새 창에서 열려면/탭?

if (command == 'lightbox') { 
location.href="https://support.wwf.org.uk/earth_hour/index.php?type=individual"; 
} 

이 사람이 나를 도울 수 :

이것은 내가 지금까지 가지고 무엇인가?

답변

677
window.open(
    'https://support.wwf.org.uk/earth_hour/index.php?type=individual', 
    '_blank' // <- This is what makes it open in a new window. 
); 
+78

가치를 다음과 같이를 클릭 환경). – jAndy

+3

@alex 중요한 비트를 읽을 수 있도록이 대답을 편집했습니다. 서식을 승인하지 않으면 두 번째 매개 변수가 스크롤되지 않은 영역에 맞도록 URL을 줄이는 것이 좋습니다. – Phrogz

+3

@Phrogz I * do * 귀하의 형식을 승인합니다 :) – alex

8

window.open('https://support.wwf.org.uk/earth_hour/index.php?type=individual');으로 새 창에서 열 수 있습니다. 새 탭에서 열려면 현재 페이지를 두 개의 탭으로 열고 스크립트를 실행하여 현재 페이지와 새 페이지를 모두 얻습니다.

11

location.href을 사용하여 팝업 문제를 피하려면 <a> ref를 사용한 다음 javascript를 사용하여이를 클릭 할 수 있습니다. (새 탭 또는 창을 생성하든, ** 브라우저에 의해 결정됩니다 ** : HTML에서

<a id="anchorID" href="mynewurl" target="_blank"></a> 

같은

뭔가 그런 다음 자바 스크립트 언급

document.getElementById("anchorID").click(); 
+6

나는이 솔루션에 희망을 갖고 있었지만 여전히 (적어도 Chrome에서는) 팝업 블록을 실행하는 것처럼 보입니다. 나는 브라우저가 자바 스크립트 클릭이라고 인식하고 다르게 취급한다는 느낌이 들었다. –

+0

네이슨 감사합니다. 당신 말이 맞아요. 여전히 팝업 메시지가 나타납니다. 나는 그것을 치료할 줄 알았다. 이론적으로는 효과가 있었음에 틀림 없다. 이 솔루션을 jquery와 함께 사용하려면 Andrew –

+1

'$ ("# anchorID") [0] .click(); – theBell

관련 문제