2011-06-07 2 views
1

Я работаю над многопользовательской шахматной игрой как приложение для facebook. Если один игрок покидает игру, закрывая браузер, другой игрок должен получить уведомление. Поэтому, если один игрок закрывает Brwoser, следует отключить функцию разблокировки, чтобы отключить плеер. Это отлично работает с onunload за пределами facebook. Проблема заключается в том, что приложения facebook загружаются в iframe, а onunload Событие здесь не работает.Call onunload function from iframe

Так что мне нужен способ вызова функции внутри iframe, когда пользователь закрывает браузер.

ответ

1

Это, вероятно, не тот ответ, который вы ищете, но «отключение» на unload никогда не будет надежно работать. В качестве крайнего примера рассмотрим случай, когда браузер сбой или был убит с помощью диспетчера задач Windows. Таким образом, вы лучше реализуете дополнительный механизм для обнаружения того, покинул ли пользователь. Обычно это делается путем отправки запроса на сервер периодически. Если этот запрос не получен в течение значительного времени (что означает то, что не может быть вызвано медленным соединением или другими иконами), вы отсоединяете пользователя.

Это сказало, что я протестировал Firefox 4 и MSIE 8, и оба правильно отразили событие unload на кадре, если вкладка или браузер закрыты. Chrome 12 этого не делает, это, вероятно, браузер, с которым вы тестировали. Я считаю, что это ошибка Chrome.

+0

Спасибо за ваш ответ. Я попытаюсь найти способ отправки запроса пользователю. – Akkumulator