Fixierter Hintergrund für mobile Browser

Mobile Browser für Android (getestet mit Chrome und dem Dolphin Browser) haben Komplikationen mit der Darstellung von fixierten Hintergründen (background-attachment: fixed;). In der Regel wird diese Eigenschaft von den mobilen Browsern vollständig ingnoriert. Glücklicherweise gibt es ein simples Work-Around:

html, body {
    height: 100%;
}
html {
    overflow-y: hidden;
}
body {
    overflow-y: auto;
    background-color: #000000;
    background-image: url("img.png");
}

Durch die explizite Deklaration der overflow-y-Eigenschaft, verhält sich der fixierte Hintergrund wie gewünscht.

jQuery Mobile: Flackernde/ blickende Übergänge

In jQuery Mobile (1.2) kann es bei der Verwendung von

<meta name="viewport" content="width=[...]user-scalable=no[...]">

zu einem Folgefehler kommen, der sich durch flackernde bzw. blickende Buttons bei den Übergängen erkenntlich macht. Das Problem konnte ich unter Android 2.3.* feststellen, bei dem Versuch eine gefixte Navigation (position: fixed;) im Fußbereich zu platzieren.
Als Workaround für die flackernden/ blickenden Übergänge scheint es leider keine besser Lösung zu geben, als die Animationen komplett zu deaktivieren:

$('#page_id').live('pagecreate', function () {
    $.mobile.defaultDialogTransition = "none";
    $.mobile.defaultPageTransition = "none";
});

Android-Debugging: Unable to open sync connection!

Beim Debuggen seiner Android-Apps per USB an einem Smartphone, kann es zu folgender Fehlermeldung kommen:

 java.io.IOException: Unable to open sync connection!

Dieses Problem kann behoben werden, indem man das USB-Debugging auf dem Smartphone deaktiviert und anschließend wieder aktiviert.

Links in externem Browser (Phonegap/ Cordova 2)

Externe Verlinkungen werden unter Phonegap (Cordova) standardmäßig mit dem WebView der App geöffnet. Möchte man allerdings, dass eine Verlinkung mit einem externen Browser geöffnet wird, genügt es nicht nur (wie in einigen Foren behauptet), das target-Attribut auf „_blank“ zu setzen. Man muss zudem in der Cordova-Konfiguration die Access-Origin editieren. Diese erlaubt standardmäßig, dass alle Webseiten im WebView geöffnet werden.
Unter Android befindet sich unter res/xml/ eine config.xml-Datei. Öffnet man diese stößt man auf folgende Zeile

<access origin=".*"/>

Kommentiert man diese Zeile aus und setzt das target-Attribut der betreffenden Links auf „_blank„, wird die Verlinkung in einem externen Browser geöffnet oder ggf. ein Auswahl-Dialog der verfügbaren Browser dargestellt. Die Cordova-Dokumentation beschreibt auch die Funktionsweise der Access-Origin und deren Konfiguration für andere Betriebssysteme.

Android border-radius Antialiasing

Beim Experimentieren mit HTML5-Apps unter Android bin ich auf einen störenden Grafik-Bug gestoßen: Verwendet man (wie mittlerweile in vielen modernen Webseiten üblich) die CSS3-Eigenschaft border-radius erkennt man mit dem Standard-Browser auffällige Pixelfehler an den Rundungen. Nach meinen aktuellen Erkenntnissen gibt es bis dato leider kein Work-Around für diesen Fehler. Allerdings gibt es einen Lichtblick: Unter Android 4 wurde der Fehler scheinbar behoben und für ältere Android-Versionen gibt es die Alternative auf bessere Browser zurückzugreifen.