문제

Safari 또는 IE7에서 새 페이지를 열도록 "강제"하려고 합니다. 새 탭 사용.

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

window.open('page.html','newtaborsomething');
도움이 되었습니까?

해결책

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

다른 창 이름으로 Window.open을 사용하여 페이지를 열면 팝업처럼 새 브라우저 창에서 열립니다. 또는 사용자가 브라우저를 그렇게 하도록 구성한 경우 새 탭에서 열립니다.

다른 팁

Firefox에서 작동하는 경우 새 탭의 개구부를 강제하기 위해 속성 대상 = "_ newtab"을 앵커에 추가 할 수 있습니다.

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

JavaScript에서 사용할 수 있습니다

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

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

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

편집 : IE7에 대한 추가 참조는이 링크가 유용 할 수 있습니다.
http://social.msdn.microsoft.com/forums/en-us/iextensiondevelopment/951b04e4-db0d-4789-ac51-82599dc60405/

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

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

실제로 창요를보아야합니다.

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

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

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

물론 새 창/탭의 이름은 _newtab2 대신 Page1, Page2, Page3 등과 같은 이름 일 수 있습니다.

새 탭을 사용하거나 새로운 Windows를 사용하든이 동작을 수정하는 것은 개발자의 비즈니스가 아닙니다. 나는 당신이 그것을 할 수 있다고 생각하지 않습니다.

애완 동물의 친구 - 나는 사이트가 새 창 / 탭에서 열리도록 강요 할 때 그것을 싫어합니다. 나는 그 결정을 내릴 수 있습니다. 특히 그들이 JavaScript로 할 때 - 정말 도움이되지 않습니다.

이미 시도 했습니까?

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

이것은 어린이의 부모의 클릭 사건을 구별하는 데 유용합니다. 이 방법을 사용하면 부모의 클릭 이벤트를 트리거하지 않습니다.

원한다면이 방법을 사용할 수 있습니다.이 방법은 약간 해킹되지만 원하는 기능을 제공합니다.

jQuery('<a/>', {
    id: 'foo',
    href: 'http://google.com',
    title: 'Become a Googler',
    rel: 'external',
    text: 'Go to Google!',
    target:'_blank',
    style:'display:none;'
}).appendTo('#mySelector');

$('#foo').click()

이것은 100% 작동합니다

window.open('http://www.google.com/','_newtab' + Date.now());

배치 파일을 호출 할 수있는 경우 작동 할 수 있습니다 (XP SP2 및 IE8과 함께 PHP를 사용합니다 ... IE7, Dunno를 시도 할 수 있습니다). .BAT 파일의 다음 (또는 유사한)을 사용하여 Wind 인용 표시와 C : Progry ... 등 사이에는 공간이 없습니다. 어느 시점에서, 이것은 새 탭이 아닌 새 창 (즉, target = "_ blank")을 열기 시작할 수 있지만 어느 정도까지 작동합니다. 광범위하게 테스트되지 않았습니다. 이것을 일반 배치 파일 (cmd.exe)에서 사용하려면 이미 창을 열어야 할 것입니다. 내가 우연히 발견 한 것을 공유하는 것. 설명을 위해 편집.

<a href="http://www.google.com/" target="_self">New Tab Example</a>

IE7에서 작동합니다.

문안 인사,

글렌

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top