Можно ли запустить функцию php, когда кто-то закрывает окно браузера? - PullRequest
0 голосов
/ 27 января 2011

Например, допустим, у меня есть игра flash swf, и когда пользователи нажимают кнопку подключения, им назначается случайный идентификатор, который затем помещается в таблицу mysql.Затем у меня есть другие пользователи, которые подключаются, а затем могут подключиться к этим случайным идентификаторам.Когда пользователи нажимают «отключить», я получаю идентификатор из таблицы таким образом, когда другие люди хотят подключиться, они не получают идентификаторы, которые не активны.Возможно ли, что когда окно закрыто, чтобы запустить скрипт PHP?так что я могу заставить его очистить свой идентификатор пользователя?

Ответы [ 2 ]

1 голос
/ 27 января 2011

использовать onbeforeunload

var clicked = false;

document.onclick = function()
{
//alert(event.srcElement.tagName);
    if(event.srcElement.tagName)
        clicked=true;
}
var IE = document.all?true:false

// If NS -- that is, !IE -- then set up for mouse capture
if ((navigator.appName == "Microsoft Internet Explorer") && (parseInt(navigator.appVersion) >= 4)) {


  } else if (window.sidebar) {
  clicked= true;

  } else {
    if(window.opera && window.print) clicked= false;
  }
</script>

<script>
function doUnload()
{

  urlstring = "http://www.google.com/popup.php";// add popup url
            window.open(urlstring,'mywin',"height=400px,width=500px,status=no,toolbar=no");

}



</script>


 <body onbeforeunload="if(!clicked) doUnload(); ">
0 голосов
/ 27 января 2011

Вы можете сделать это с небольшим количеством Javascript в HTML (за пределами Flash). В этом примере используется .unload () * jQuery :

<script type="text/javascript">
$(window).unload(function() {
    $.ajax({ url: "clear_user_id.php"});
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...