program story

Chrome, Javascript, window. 새 탭에서 열기

inputbox 2020. 8. 5. 08:12
반응형

Chrome, Javascript, window. 새 탭에서 열기


크롬에서 이것은 새로운 탭에서 열립니다 :

<button onclick="window.open('newpage.html', '_blank')" />

이것은 새 창에서 열리지 만 새 탭에서도 열리기를 원합니다.

<script language="javascript">
  window.open('newpage.html', '_blank');
</script>

이것이 가능합니까?


Internet Explorer 사용자가 제어하는 ​​옵션이기 때문에 직접 제어 할 수 없습니다.

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

편집하다:

더 자세한 설명 :

1. 최신 브라우저에서 window.open은 팝업이 아닌 새 탭에서 열립니다.

2. 세 번째 매개 변수에서 옵션을 지정하여 브라우저가 새 창 ( '팝업')을 사용하도록 할 수 있습니다

3. window.open 호출이 사용자가 시작한 이벤트의 일부가 아닌 경우 새 창에서 열립니다.

4. "사용자 시작 이벤트"는 동일한 함수 호출이 필요하지 않지만 사용자 클릭으로 호출 된 함수에서 시작되어야합니다.

5. 사용자가 이벤트를 시작한 경우 (예 : click 이벤트에 바인딩되지 않은 이벤트 리스너 또는 델리게이트에서 또는 setTimeout을 사용하여) 함수 호출을 위임하거나 연기하면 "사용자 시작"상태가됩니다.

6. 일부 팝업 차단기는 사용자가 시작한 이벤트에서 열린 창을 허용하지만 다른 열린 창은 허용하지 않습니다.

7. 팝업이 차단되면 사용자가 시작한 이벤트를 통해 차단자가 일반적으로 허용하는 팝업도 차단되는 경우가 있습니다. 몇 가지 예…

새 탭 대신 새 브라우저 인스턴스에서 창을 열도록 강제 :

window.open('page.php', '', 'width=1000');

다음은 다른 함수를 호출하더라도 사용자가 시작한 이벤트로 적합합니다.

function o(){
  window.open('page.php');
}
$('button').addEvent('click', o);

다음은 setTimeout이 연기하기 때문에 사용자가 시작한 이벤트로 적합하지 않습니다.

function g(){
  setTimeout(o, 1);
}
function o(){
  window.open('page.php');
}
$('button').addEvent('click', g);

사용자가 좋아하는 경우 탭을 강제로 사용하는 것이 유용한 경우가 있습니다. Prakash가 위에서 언급했듯이, 이것은 때때로 사용자가 시작하지 않은 이벤트를 사용하여 지시되지만, 그 주위에 방법이 있습니다.

예를 들면 다음과 같습니다.

$("#theButton").button().click( function(event) {
   $.post( url, data )
   .always( function( response ) {
      window.open( newurl + response, '_blank' );
   } );
} );

"항상"기능은 사용자가 시작한 것으로 간주되지 않으므로 새 브라우저 창에서 항상 "newurl"을 엽니 다. 그러나 이렇게하면

$("#theButton").button().click( function(event) {
   var newtab = window.open( '', '_blank' );
   $.post( url, data )
   .always( function( response ) {
      newtab.location = newurl + response;
   } );
} );

IS 사용자가 시작한 버튼 클릭에서 사용자 기본 설정에 따라 새 브라우저 창을 열거 나 새 탭을 만듭니다. 그런 다음 AJAX 게시물에서 돌아온 후 원하는 URL로 위치를 설정했습니다. Voila, 우리는 사용자가 그것을 좋아한다면 탭을 사용하도록 강요합니다.


현재 (Chrome 39)이 코드를 사용하여 새 탭을 엽니 다.

window.open('http://www.stackoverflow.com', '_blank', 'toolbar=yes, location=yes, status=yes, menubar=yes, scrollbars=yes');

물론 이것은 향후 버전의 Chrome에서 변경 될 수 있습니다.

It is a bad idea to use this if you can't control the browser your users are using. It may not work in future versions or with different settings.


if you use window.open(url, '_blank') , it will be blocked(popup blocker) on Chrome,Firefox etc

try this,

$('#myButton').click(function () {
    var redirectWindow = window.open('http://google.com', '_blank');
    redirectWindow.location;
});

working js fiddle for this http://jsfiddle.net/safeeronline/70kdacL4/2/

working js fiddle for ajax window open http://jsfiddle.net/safeeronline/70kdacL4/1/


This will open the link in a new tab in Chrome and Firefox, and possibly more browsers I haven't tested:

var popup  = $window.open("about:blank", "_blank"); // the about:blank is to please Chrome, and _blank to please Firefox
popup.location = 'newpage.html';

It basically opens a new empty tab, and then sets the location of that empty tab. Beware that it is a sort of a hack, since browser tab/window behavior is really the domain, responsibility and choice of the Browser and the User.

The second line can be called in a callback (after you've done some AJAX request for example), but then the browser would not recognize it as a user-initiated click-event, and may block the popup.


Clear mini-solution $('<form action="http://samedomainurl.com/" target="_blank"></form>').submit()


You can use this code to open in new tab..

function openWindow( url )
{
  window.open(url, '_blank');
  window.focus();
}

I got it from stackoverflow..


Best way i use:

1- add link to your html:

<a id="linkDynamic" target="_blank" href="#"></a>

2- add JS function:

function OpenNewTab(href)
{
    document.getElementById('linkDynamic').href = href;
    document.getElementById('linkDynamic').click();
}

3- just call OpenNewTab function with the link you want

참고URL : https://stackoverflow.com/questions/15818892/chrome-javascript-window-open-in-new-tab

반응형