1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

AJAX auf Android-Browser

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von swiftmagic, 09.09.2009.

  1. swiftmagic, 09.09.2009 #1
    swiftmagic

    swiftmagic Threadstarter Junior Mitglied

    Beiträge:
    39
    Erhaltene Danke:
    0
    Registriert seit:
    14.07.2009
    Hi!

    Ich arbeite derzeit an einem Programm, das ich zunächst als AJAX-Version umsetzen will, bevor ich mich dann über diverse "native" Versionen hermache.

    Mein Problem:
    Ich versuche derzeit eine Routine zu schreiben, die zuverlässig erkennt, ob eine Online-Verbindung besteht oder nicht. Ich mache das, indem ich mit dem üblichen XMLHTTPRequest am Server eine Datei versuche zu öffnen - wenn es schiefgeht, gilt die Verbindung als unterbrochen und einige Sekunden später erfolgt ein neuer Test.

    Das klappt auch prächtig - wenn ich die Datei am Server umbenenne oder mit dem Handy in den Keller gehe, meldet das Handy brav eine "Unterbrechung" und auch wenn ich am Handy (Magic) zwischen WLAN und UMTS umschalte, ist kurz keine Verbindung da und die Fehlermeldung kommt.

    ABER...: wenn ich am Magic mit APNdroid oder per "Flugzeugmodus" das Netz komplett "abschalte", kommt keine Unterbrechungsmeldung im Magic-Browser, er scheint die entsprechenden JS-Routinen überhaupt nicht mehr zu durchlaufen und ignoriert völlig, dass er die Datei nicht mehr öffnen kann.

    Was passiert da im Browser und kennt jemand einen zuverlässigen Onlinecheck, der auch in diesen Fällen funktioniert?
     
  2. Shinigami, 09.09.2009 #2
    Shinigami

    Shinigami Fortgeschrittenes Mitglied

    Beiträge:
    436
    Erhaltene Danke:
    69
    Registriert seit:
    08.04.2009
    Hi.

    Ich denke der Browser überprüft ob überhaupt eine Datenverbindung bestehen kann und für den Fall, dass dem nicht so ist, braucht der Browser ja auch keine Anstalten zu machen eine Seite zu laden oder deren JS-Code durchlaufen zu lassen. Würde ja nur unnütze Resourcen kosten...

    Gruß,
    Shini
     
  3. swiftmagic, 09.09.2009 #3
    swiftmagic

    swiftmagic Threadstarter Junior Mitglied

    Beiträge:
    39
    Erhaltene Danke:
    0
    Registriert seit:
    14.07.2009
    Danke - ich habs gelöst.

    Das Problem ist, dass der Browser, wenn die Verbindung zB mit APNdroid komplett disabled wurde, das "open" trotzdem völlig fehlerfrei durchläuft, als wäre mit der Verbindung alles in Ordnung. Mit dem einzigen Unterschied, dass die Funktion in "onreadystatechange" dann nur einmal durchlaufen wird, und zwar mit einem readyState von 4. Einziger Hinweis ist der "status" auf Null.

    Wie auch immer - es war eine Kombination aus einem eher eigenartigen Verhalten des Browsers (nicht erreichbare Datei wird fehlerfrei geöffnet) und einem Fehler meinerseits (hatte den "status" nicht überprüft).
     

Diese Seite empfehlen