@pablobm commented on this pull request.
> + if (sessionStorage.getItem("wasAbleToAskForHandler")) return;
+ try {
+ navigator.registerProtocolHandler("geo", "/?geouri=%s");
+ sessionStorage.setItem("wasAbleToAskForHandler", "yes");
+ } catch (e) {
+ sessionStorage.setItem("wasAbleToAskForHandler", "no");
+ }
How about this instead?
- It avoids handling the success and error cases separately.
- Uses a boolean instead of a "yes"/"no" string, which I think is more natural.
- Uses a more specific name, just in case we want to ask for other handlers in
the future.
```suggestion
if (sessionStorage.getItem("askedForGeoProtocolHandler")) return;
try {
navigator.registerProtocolHandler("geo", "/?geouri=%s");
} finally {
sessionStorage.setItem("askedForGeoProtocolHandler", true);
}
```
> @@ -226,6 +228,16 @@ L.OSM.share = function (options) {
const precision = 5 * Math.pow(10, Math.floor(Math.LOG10E *
Math.log(scale)) - 2);
return precision * Math.ceil(scale / precision);
}
+
+ function askToHandleGeoURI() {
+ if (sessionStorage.getItem("wasAbleToAskForHandler")) return;
+ try {
+ navigator.registerProtocolHandler("geo", "/?geouri=%s");
+ sessionStorage.setItem("wasAbleToAskForHandler", "yes");
+ } catch (e) {
+ sessionStorage.setItem("wasAbleToAskForHandler", "no");
Sorry, I mean why use yes/no instead of a boolean. Hang on, I'm going to do an
"add a suggestion" instead to illustrate... (Closing this thread and picking up
in a new one).
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/pull/5968#pullrequestreview-3294854158
You are receiving this because you are subscribed to this thread.
Message ID:
<openstreetmap/openstreetmap-website/pull/5968/review/[email protected]>_______________________________________________
rails-dev mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/rails-dev