[javascript] 프로그래밍 방식으로 탭에서 새 페이지 열기

새 탭을 사용하여 새 페이지를 열도록 Safari 또는 IE7을 “강제”하려고합니다 .

프로그래밍 방식으로 나는 다음과 같은 것을 의미합니다.

window.open('page.html','newtaborsomething');



답변

Internet Explorer 사용자가 제어하는 ​​옵션이므로 직접 제어 할 수 없습니다.

다른 창 이름으로 Window.open을 사용하여 페이지를 열면 팝업과 같은 새 브라우저 창 에서 열리 거나 사용자가 브라우저를 구성한 경우 새 탭에서 열립니다.


답변

Firefox에서 작동하는 경우 앵커에 target = “_ newtab”속성을 추가하여 새 탭을 강제로 열 수 있습니다.

<a href="some url" target="_newtab">content of the anchor</a>

자바 스크립트에서 사용할 수 있습니다

window.open('page.html','_newtab');

샘과 부분적으로 동의합니다. 사용자가 링크를 클릭 하기 전에 일어날 일에 대한 힌트를 보여주지 않고 새 페이지 나 새 탭을 열도록 강요해서는 안됩니다 .

다른 브라우저에서도 작동하는지 알려주세요 (현재 Firefox 이외의 다른 브라우저에서 시도 할 기회가 없습니다).

편집 : ie7에 대한 참조 추가 아마도이 링크가 유용 할 수 있습니다.
http://social.msdn.microsoft.com/forums/en-US/ieextensiondevelopment/thread/951b04e4-db0d-4789-ac51-82599dc60405/


답변

다음을 사용하려는 사람들 :

window.open('page.html', '_newtab');

window.open 메서드를 실제로 살펴 봐야합니다.

브라우저에 “_newtab”이라는 새 창을 열고 page.html을로드하도록 지시하는 것뿐입니다. 로드하는 모든 새 페이지가 해당 창에로드됩니다. 그러나 사용자가 새 창 대신 새 탭에서 새 페이지를 열도록 브라우저를 설정 한 경우 탭이 열립니다. 어쨌든 창이나 탭에 동일한 이름을 사용하고 있습니다.

다른 창이나 탭에서 다른 페이지를 열려면 새 창 / 탭의 이름을 다음과 같이 다른 이름으로 변경해야합니다.

window.open('page2.html', '_newtab2');

물론 새 창 / 탭의 이름은 _newtab2 대신 page1, page2, page3 등과 같은 이름이 될 수 있습니다.


답변

새 탭을 사용하든 새 창을 사용하든 사용자가이 동작을 수정하는 것은 개발자의 업무가 아닙니다. 나는 당신이 그것을 할 수 있다고 생각하지 않습니다.

내 애완 동물-사이트가 새 창 / 탭에서 열도록 강제하는 것이 싫다-나는 스스로 결정을 내릴 수있다. 특히 그들이 자바 스크립트로 할 때 정말 도움이되지 않습니다.


답변

이미 시도해 보셨습니까?

var open_link = window.open('','_blank');
open_link.location="somepage.html";


답변

Chrome에서 발견했습니다.

window.open('page.html','_newtab')

한 번만 작동합니다.

당신이 사용할 수있는:

window.open(ct.getNewHref(),'_newtab' + Math.floor(Math.random()*999999));

여러 새 탭을 열려면.


답변

jQuery와 함께 사용하는 코드 :

$("a.btn_external").click(function() {
    url_to_open = $(this).attr("href");
    window.open(url_to_open, '_blank');
    return false;
});

이는 자식에서 부모의 클릭 이벤트를 구별하는 데 유용합니다. 이 방법을 사용하면 상위의 클릭 이벤트를 트리거하지 않습니다.