프로그래밍 방식으로 탭에서 새 페이지 열기
-
06-07-2019 - |
문제
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에서 작동합니다.
문안 인사,
글렌