Я хочу отправить запрос ajax, когда пользователь покидает страницу или закрывает окно.
Вот мой код внутри:'onbeforeunload' Fires Twice
<script type="text/javascript">
function sendajax(){
$.ajax({
url: "someurl",
data: mydata,
async : false
});
}
</script>
<script type="text/javascript">
window.onbeforeunload=function(){sendajax();};
</script>
Когда событие происходит пожар событий дважды.
Почему это происходит?
Я знаю, что могу предотвратить это, добавив переменную var ajaxSent=true;
, но может быть, есть более чистый способ сделать это?
UPD:
Я заменил sendajax содержание функции с другим кодом (без отправки AJAX), и выяснил, что Ajax не один вызывает проблему. Он все еще входит в функцию дважды.
Есть ли какие-либо фреймы на странице? – beeglebug
Нет, это часть тестовой страницы, которая содержит только текст и ссылку – lvil
Можете ли вы привести пример? Кроме того, в каком браузере вы это видите? – beeglebug