내가 코드 블로우 작업을하기 위해 사투를 벌인거야 ... 그런같이 window.blur setInterval()이()
, 내가 궁금하네요 왜 같이 window.blur() 및 window.blur (에서 작동하지 않습니다) 메소드가 작동하지 않습니다/입력 버튼에서만 작동합니다. setInterval()에서 호출 할 때 작동하지 않습니다.
예를 들어, 아래의 경우 HTML로 단추를 누르면 처음으로 창을 만든 다음 두 번째로 단추를 누르면 창의 초점을 맞 춥니 다.
그러나 창 포커스를 설정하기 위해 setInterval()을 설정했지만 작동하지 않습니다. 콘솔에서 로그를 볼 수 있으므로 setInterval 함수는 올바르게 작동하지만 win.focus()는 무시됩니다.
<head>
...
<script>
var win;
function makePopup(){
if (!win || win.closed) {
win = window.open("","","width=200, height=200");
win.blur();
}else{
win.focus();
console.log("opened");
}
}
setInterval(function(){makePopup();},4000);
</script>
</head>
<body>
<input type="button" onclick="makePopup()"/>
</body>
그래서 문제는 다음과 같습니다
- window.blur()가 전혀 작동하지 않습니다.
- window.focus()는 HTML 버튼에서 makePopup()을 호출 할 때만 작동하며 setInterval()에서는 작동하지 않습니다.
Mac OSX와 Chrome 및 Safari에서 테스트 중입니다.
의견을 제시해 주시면 감사하겠습니다.
미리 감사드립니다.
나는 보안상의 문제가 있을지 모르지만, 당신이 알지 못하는 경우를 대비하여, setInterval (makePopup, 4000);을 호출 할 수 있습니다. 시각. – pimvdb
fyi, 그 간격을 설정할 때, 당신은'makePopup'을 호출하는 함수를 전달할 필요가 없습니다. 다음과 같이 식별자'makePopup'를 직접 전달할 수 있습니다 :'setInterval (makePopup, 4000)' – Shad
조언을 해주셔서 감사합니다 ! 그래,하지만이 방법을 알고 있지만 이것을 작성하는 데 사용 : – leccmo