2012-09-10 3 views
2

window.focus() 함수를 작동 시키려고합니다. 그런 다음 새로운 윈도우가 포커스를 돌아 가야한다 jsfiddle 페이지를로드 한 후 실행을 클릭하면Chrome 및 Firefox에서 window.focus()가 작동하지 않습니다.

Take a look at this fiddle

var myWindow = window.open('','zzz','width=600,height=700'); 
    myWindow.document.write('test'); 
    myWindow.focus();​ 

. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+1

([그것은 크롬에 나를 위해 일하고] http://jsfiddle.net/94KYp/ 5 /). –

+0

@SheikhHeera Chrome 21에 있습니까? – qwertymk

+0

예,'21.0.1180.89 m' –

답변

1

FF15로 나에게 "작동"합니다. 사용자가 스크립트를 열고 창을 열거 나 설정을 확인하는 기능을 사용 중지 할 수 있습니다. 아, 그리고 팝업은 기본적으로 초점이 맞추어 져야하므로 myWindow.focus()으로 전화하지 않아도됩니다.

아마 문제와는 아무 상관이없는하지만 당신은 수정 할 수 있습니다 약간의 포인트

: 유효한 문서가 새 창으로 작성해야

  1. 는 제목 요소와 하나 개의 블록 요소가 필요합니다, 예 document.write('<title></title><div></div>하는 DOCTYPE 적극 쓰기를 마친 후, (FF를 가지고 있겠지) 만 교체 적어도 크롬 document.close()
+0

[Chrome에서 작동 중] (http://jsfiddle.net/94KYp/5/). –

+0

팝업을 처음 열면 초점이 맞춰지지 않습니다. 그래서 그것을 호출하는 것은 여전히 ​​좋은 생각입니다. –

0

를 사용하여 너무

  • 입력 스트림이 닫혀 있어야 권장

    myWindow.focus(); 
    

    myWindow.blur(); 
    setTimeout(myWindow.focus, 0); 
    

    EDIT : 현실화 나는 Linux VM에서 FF를 얻었습니다. 이 코드는 현재 크롬과 최신 민트 64에서 FF12와 괜찮

  • +0

    이 Chrome에서 작동하지 않습니다. – qwertymk

    +0

    예. 아래에서 잘 작동합니다. Chrome 21.0.1180.89 m (Win x64) – enhzflep

    0

    이 나를 위해 작동합니다

    <script> 
    var popupWin; 
    function open_popup(url) { 
        if(typeof(popupWin) == "object") popupWin.close(); 
    
        popupWin = window.open(url, 'PopupName', 'scrollbars=no,resizable=yes, width=600,height=800,status=no,location=no,toolbar=no'); 
        popupWin.focus(); 
    
    } 
    </script> 
    
    관련 문제