Fenster.onbeforeunload ajax-request in Chrom

Ich habe eine web-Seite, die Griffe, remote-Steuerung einer Maschine durch Ajax. Wenn der Benutzer navigiert Weg von der Seite, ich würde gerne automatisch trennen Sie es von der Maschine. So hier ist der code:

window.onbeforeunload = function () {
  bas_disconnect_only();
}

Dem abschalten der Funktion senden Sie einfach eine HTTP-GET-request auf eine PHP-server-Seite Skript, das macht die eigentliche Arbeit zu trennen:

function bas_disconnect_only () {
   var xhr = bas_send_request("req=10", function () {
   });
}

Dies funktioniert gut in FireFox. Aber mit Chrome, der ajax-request nicht gesendet wird, an alle. Es ist inakzeptabel Problemumgehung: Hinzufügung Warnung an die callback-Funktion:

function bas_disconnect_only () {
   var xhr = bas_send_request("req=10", function () {
     alert("You're been automatically disconnected.");
   });
}

Nach dem hinzufügen der alert-Aufruf, der Antrag wäre erfolgreich gesendet. Aber wie Sie sehen können, es ist nicht wirklich eine Arbeit um überhaupt.

Könnte jemand mir sagen, ob das machbar ist mit Chrome? Was ich mache, sieht das völlig legitim für mich.

Dank,

Wo ist der "bas_send_request" - Funktion?
Spitzen: bas_send_request() ist ein einfacher wrapper, erstellen Sie eine ajax-Anfrage aus und senden Sie es. Ich glaube nicht, dass es notwendig zu zeigen, dass die Art von detail.

InformationsquelleAutor lang2 | 2011-02-09

Schreibe einen Kommentar