Erkennung von Geo-Uri-Unterstützung

8

Gibt es eine Möglichkeit mit JavaScript zu prüfen, ob der Client-Browser das GEO-URI-Schema unterstützt?

Ich möchte eine Koordinate für nicht unterstützte Browser als Link zu einer Karte anzeigen

%Vor%

und für unterstützte Browser (wie Smartphones) als Link zu ihren eigenen nativen Apps.

%Vor%     
cyper 05.11.2013, 10:44
quelle

1 Antwort

5

Nein, ist es nicht. Ob das Protokoll geo verfügbar ist oder nicht, hängt nicht vom Browser ab, sondern vom zugrunde liegenden Betriebssystem. Der Browser von Android hat keine Ahnung, ob er es unterstützen kann, es fragt das Subsystem, ob es einen Handler für den geo URI hat, und wenn ja, öffne es. Der einzige Weg zu wissen, dass das System eine benutzerdefinierte URI unterstützt, wäre zu versuchen, einen Link zu öffnen und zu sehen, ob es funktioniert. Es gibt keine Möglichkeit, dies automatisch zu tun, ohne den Benutzer vollständig zu unterbrechen.

Ein gutes Beispiel dafür wäre Apples maps.apple.com. Sie verwenden serverseitiges UA-Sniffing, um maps.apple.com auf die beste verfügbare Website umzuleiten.

Wenn Sie versuchen, zu Ссылка auf einem beliebigen Browser zu gelangen, senden Sie eine 302 an eine maps:// url (der benutzerdefinierte URI für die Maps.app-App). Gleiches gilt für iOS-Geräte. Wenn es sich um einen unbekannten Browser handelt, wird er zur entsprechenden maps.google.com-Adresse weitergeleitet, da er keine eigene Karten-Webpräsenz hat.

    
Patrick 13.11.2013, 06:59
quelle