[javascript] 요즘 문제되는 팝업차단 문제 해결법
로빈아빠
본문
<HTML>
<HEAD>
<script language='JavaScript'>
var request;
function createXMLHttpRequest()
{
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function startRequest()
{
createXMLHttpRequest();
request.open("GET", "logout.php", true);
request.onreadystatechange = handleStateChange;
request.send(null);
}
function handleStateChange() {
if (request.readyState == 4) {
//alert(request.responseText);
}
}
</SCRIPT>
</HEAD>
<BODY onUnload='startRequest();' leftmargin='0' topmargin='0' onfocus()>
</BODY>
</html>
프레임을 나눠서 안보이는 프레임에 위의 코드를 사용하는 파일 noframe.html 을 만듭니다.
팝업창 호출후 자동으로 닫히거나 유저가 X 버튼을 눌러서 닫을때
logout.php 문서를 호출해 해당 회원의 접근 정보를 삭제하거나 채팅상담에서 나갔다는 처리를 하면 좋을것 같습니다.
요즘 XP 의 심각한 패치로 window.open 을 사용하는 스크립트는 거부 당하고 있습니다. 그렇다고 유지되고 있는 서비스를 전격 ActiveX Contrl 로 교체할수도 없을것 같아서 여러 사이트를 참고해서 구현해 봤습니다.
참고만 하시고 실제 logout.php는 회원님들께서 사이트 목적에 맞춰서 만드셔야 합니다.
[이 게시물은 VIRHAC님에 의해 2009-09-13 14:39:33 HTML에서 이동 됨]
<HEAD>
<script language='JavaScript'>
var request;
function createXMLHttpRequest()
{
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function startRequest()
{
createXMLHttpRequest();
request.open("GET", "logout.php", true);
request.onreadystatechange = handleStateChange;
request.send(null);
}
function handleStateChange() {
if (request.readyState == 4) {
//alert(request.responseText);
}
}
</SCRIPT>
</HEAD>
<BODY onUnload='startRequest();' leftmargin='0' topmargin='0' onfocus()>
</BODY>
</html>
프레임을 나눠서 안보이는 프레임에 위의 코드를 사용하는 파일 noframe.html 을 만듭니다.
팝업창 호출후 자동으로 닫히거나 유저가 X 버튼을 눌러서 닫을때
logout.php 문서를 호출해 해당 회원의 접근 정보를 삭제하거나 채팅상담에서 나갔다는 처리를 하면 좋을것 같습니다.
요즘 XP 의 심각한 패치로 window.open 을 사용하는 스크립트는 거부 당하고 있습니다. 그렇다고 유지되고 있는 서비스를 전격 ActiveX Contrl 로 교체할수도 없을것 같아서 여러 사이트를 참고해서 구현해 봤습니다.
참고만 하시고 실제 logout.php는 회원님들께서 사이트 목적에 맞춰서 만드셔야 합니다.
[이 게시물은 VIRHAC님에 의해 2009-09-13 14:39:33 HTML에서 이동 됨]
관련링크
댓글목록
등록된 댓글이 없습니다.