Ich bin hier sicher nicht der einzige, dem das häufige Tippen von “overpass-api.de/achavi/?changeset=” oder “osm.org/user” zu lästig ist, um schnell einen bestimmten Changeset zu überprüfen oder User zu finden.
In meinem Browser habe ich inzwischen eine ganze Sammlung kleiner Bookmarklets, die mir eine Menge Arbeit sparen: Ich markiere einen Text im Browserfenster (z.B. jemand erwähnt einen Key wie “destination” in einem Forumsbeitrag) und klicke auf das gespeicherte Bookmarklet und lande direkt bei Taginfo. Oder ich finde eine Changeset-ID (so wie die runde 10000000) und lande direkt bei Achavi.
Den Link ganz am Ende kann man beliebig an seine Erfordernisse anpassen, der Rest davor ist nur dafür da, den markierten Text auf der gerade offenen Webseite zu finden. Die Zwischenablage kann man hier nicht benutzen, das ist aus Sicherheitsgründen nur mit Hürden möglich.
Diesem Lesezeichen gebe ich das “Schlüsselwort” way
Nun kann ich in der Adressleiste einen aus JOSM kopierten Weg einfügen, der dann aussieht wie “way 83348037”
Firefox ruft damit das mit “way” getaggte Lesezeichen auf und ersetzt %s durch 83348037, so dass ich dann auf http://www.openstreetmap.org/way/83348037 geleitet werde.
Ich verwende neben Bookmarklets auch die Browser-Erweiterung OSM Smart Menu (GitHub), ist allerdings experimentell und nicht gepflegt.
Die Such-Funktion und die Bookmarklets per Markierung finde ich zwar interessant, aber vielleicht etwas umständlicher als Bookmarklets die von einer openstreetmap.org URL ausgehen wie das achavi Bookmarklet. Ist vermutlich auch Geschmackssache, aber meistens hat man einen Link zu osm.org (oder Strg-Shift-i in JOSM), oder bei welchen Anwendungsfällen ist das nicht so?
Ich habe Bookmarklets immer viel benutzt (und auch die genannte Wikiseite erstellt), aber seit ein paar Tagen funktionieren sie in meinem Firefox leider nicht mehr auf den osm.org-Seiten. Beispielsweise auf https://www.openstreetmap.de/ (.de!) kann ich das oben genannte achavi Bookmarklet aufrufen. Auf beispielsweise https://www.openstreetmap.org/changeset/22002160 passiert aber gar nichts. In der Firefox (60.0.1) Konsole finde ich “Content Security Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf self blockiert (“script-src”).” Da gab es wohl kürzlich ein Update der osm.org-Seiten bezüglich der Content Security Policy. Sicherlich aus Sicherheitsgründen gut, aber leider funktionieren nun Bookmarklets nicht mehr. Tatsächlich funktioniert es, wenn ich testweise die CSP in about:config generell abschalte. https://bugzilla.mozilla.org/show_bug.cgi?id=866522 habe ich schnell überflogen - das scheint wohl ein nicht wirklich behebbares Problem (außer per zusätzlichem Addon) für Firefox zu sein.
In Chromium geht es.
Kann das jemand bestätigen oder weiß gar Abhilfe für Firefox?
Weiß nicht, ob man in den CSP Regeln bestimmte Bookmarklets erlauben kann, hier geht es ja nicht um das Manipulieren der Seite, sondern nur um das Auslesen der URL:
javascript:alert('url: ' + location.href);
(Um das Verhalten zu sehen, kann man auch obiges Beispiel in der Adresszeile auführen, das “javascript:” wird allerdings entfernt und muss von Hand eingetragen werden)
Eine Alternative wären evtl. Greasemonkey Scripte oder Browser Extensions (Add-ons).
Die erwähnte Browser Erweiterung OSM Smart Menu (GitHub) funktioniert noch, kennt halt noch keine Changeset Links.
Das habe ich u.a. auch gefunden, verstehe aber nicht, warum das funktionieren soll. Dort wird ein script Tag in die Seite eingefügt, was die CSP ja gerade verhindern soll. Wie der Autor auch anmerkt:
Die erwähnte (#5) Bookmarklets context menu Erweiterung funktioniert, gibt den Bookmarklets aber mehr Zugriffsrechte als sie normalerweise hätten.
Eine weitere Möglichkeit wäre, per Browser Erweiterung für bestimmte Seiten den CSP Header zu modifizieren (besser als in den Firefox Einstellungen für alle Seiten abzuschalten): Defeating Chrome’s Content-Security-Policy Header via a Chrome Extension
Evtl. gibt es da auch was fertiges, hab aber nur was veraltetes gefunden: UserCSP
Aber eigentlich wäre das jetzt eine Gelegenheit, nochmal grundsätzlich über Alternativen und Lösungen für kontextbezogene Links (OSM Smart Menu, mapJumper und Co.) zu diskutieren. Beziehungsweise wie man das ganze Universum an Karten und Webanwendungen rund um OSM besser miteinander verbinden kann.
Muss mich korrigieren: OSM Smart Menu (GitHub) hat Links zu Map, Objekt, User und doch auch Changeset.
Zum Beispiel auf einer Changeset Seite kann man in der Toolbar den Smart Menu Button klicken und bekommt ein Menü mit Links zu “OSM History Viewer” und “Augmented OSM Change Viewer”, die die entsprechende Webanwendung für das angezeigte Changeset aufrufen.