getCurrentPosition () und watchPosition () sind auf unsicheren Ursprüngen veraltet
Ich bin immer diese Fehlermeldung auf meiner website, die Anfragen, die Geolocation-Daten des Nutzers:
getCurrentPosition() und watchPosition() als veraltet markiert sind, auf unsichere Herkunft, und die Unterstützung wird in Zukunft entfallen. Sollten Sie die Umstellung Ihrer Anwendung auf eine sichere Herkunft, wie HTTPS. Sehen goo.gl/rStTGz für mehr details.
Ich meine, es ist im Grunde nur ein Hinweis, und der google-link sagt seinem als veraltet.
Ich habe keine Pläne auf dem Umzug meiner Webseite auf SSL... gibt es eine alternative für jemanden wie mich?
Kommentar zu dem Problem
Hoffen wir, dass Ihr nicht nur den Mund der Funktion nach unten, ohne Ersatz in die zukünftige Version...
Sie sind wahrscheinlich zu schließen die Funktion nach unten, ohne Ersatz in einem zukünftigen release. Das ist genau der Grund, warum Sie sind abwertend, es jetzt. Zitat von wir erwarten, dass die schrittweise Migration diese Funktionen zu sichern-nur
InformationsquelleAutor der Frage Jason Axelrod | 2015-08-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand eine wahrscheinliche Antwort in /jstillwell Beiträge hier:
https://github.com/stefanocudini/leaflet-gps/issues/15
im Grunde ist dieses feature nicht unterstützt (in Chrom nur???) in der Zukunft, sondern nur für HTTP Seiten. HTTPS wird noch ok sein, und es gibt keine Pläne zu erstellen, die einen gleichwertigen Ersatz für HTTP verwenden.
InformationsquelleAutor der Antwort kittimiyo
Weil der Wechsel zu HTTPS kann schmerzhaft oder unmöglich, je nach Architektur,
Ich fand einen workaround Lösung: Sie können die Google Maps Geolocation API. Obwohl es hat Gebrauch begrenzt, es macht den job. Sie benötigen eine browser-API-Schlüssel, so vergessen Sie nicht, Sie beschränken die Nutzung auf Ihrer Seite hostname.
Ich es als fallback-Methode, um die
getCurrentPosition()
Methode, wenn es fehlschlägt. Es erlaubt mir, es zu schaffen, bis ich Umschalten auf HTTPS.Hier ist die JSFiddles:
getCurrentPosition()
wird scheitern und fallen zurück auf die APIgetCurrentPosition()
gelingen wird,InformationsquelleAutor der Antwort gogson
Ja. Google Chrom ist veraltet, die Funktion in der version 50. Wenn Sie versucht haben, verwenden Sie es in chrome ist der Fehler:
getCurrentPosition() and watchPosition() are deprecated on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins for more details.
So, Sie müssen SSL-Zertifikat. Tja, das ist der einzige Weg.
Und es ist ganz einfach, jetzt mit Let ' s Encrypt. Hier ist guide
Und für Testzwecke, Sie könnten versuchen, diese:
Ich denke, dass Firefox auch für eingeschränkte Benutzer den Zugriff auf GeoLocation-API-Anfragen von
http
. Hier ist der webkit-changelog: https://trac.webkit.org/changeset/200686InformationsquelleAutor der Antwort Asim K T
Könnten Sie die https://ipinfo.io API für diese (es ist mein service). Es ist kostenlos für bis zu 1000 req/Tag (mit oder ohne SSL-Unterstützung). Es gibt Ihnen die Koordinaten, Namen und mehr. Hier ist ein Beispiel:
Hier ist ein Beispiel der Konstrukte eine coords-Objekt mit der API-Antwort ist, dass Spiele, was Sie von
getCurrentPosition()
:Sehen Sie hier ein ausführliches Beispiel, das zeigt, wie Sie können es verwenden, wie ein fallback für
getCurrentPosition()
:Sehen http://ipinfo.io/developers/replacing-navigator-geolocation-getcurrentposition für mehr details.
InformationsquelleAutor der Antwort Ben Dowling
Können Sie laufen chrome mit der Option --ungesichert-behandeln-unsicher-Herkunft-als-secure="http://example.com" flag " (ersetzen Sie "example.com" mit der Herkunft, die Sie wirklich wollen, zu testen), die Behandlung, die Herkunft als sicher für diese Sitzung. Beachten Sie, dass Sie auch die --user-data-dir=/test/only/Profil/dir um eine frische Test-Profil für die Flagge zu arbeiten.
Beispielsweise
wenn Sie Windows verwenden, Klicken Sie auf Start und ausführen.
InformationsquelleAutor der Antwort Injection
In HTTP, tritt der Fehler auf.
Festlegen von Berechtigungen für localhost in Balg-label(die Annahme von Anfragen durch diesen HTTP-Referrer (Webseiten)).
Es funktionierte für mich.
InformationsquelleAutor der Antwort srmilon
Verwenden
FireFox
oder einen anderen browser stattChrome
wenn Sie möchten, testen Sie es auf Ihrer Entwicklungsumgebung, die für die Produktion gibt es keine Möglichkeit außer mithttps
.Für die Entwicklung Umgebung gerade geöffnet
http://localhost:8100/
auf FireFox und ach keine solchen Fehler.InformationsquelleAutor der Antwort Edris
Ich weiß, dass die geoLocation API ist besser, aber für Menschen, die nicht verwenden können, eine SSL, können Sie immer noch eine Art von Dienstleistungen, wie geopluginService.
als angegeben in der Dokumentation, die Sie senden Sie einfach eine Anfrage mit der ip an die service-url
http://www.geoplugin.net/php.gp?ip=xx.xx.xx.xx
die Ausgabe eines serialisierten array, so, müssen Sie benötigen, um unserialize es, bevor Sie es.Daran, dieses service ist nicht sehr genau, wie die geoLocation ist, aber es ist immer noch eine einfache und schnelle Lösung.
InformationsquelleAutor der Antwort Jeffery ThaGintoki
Geben Sie etwas Zeit zum installieren eines SSL-cert
getCurrentPosition()
undwatchPosition()
arbeiten nicht mehr auf unsichere Ursprünge. Um diese Funktion zu nutzen, sollten Sie die Umstellung Ihrer Anwendung auf eine sichere Herkunft, wie HTTPS.InformationsquelleAutor der Antwort Ryan