Javascript: document.url ohne Anker (hash) Teil
Ich habe versucht, auf der Suche für diese, für 30 Minuten, so dass ich entschuldige mich wenn es schon gefragt bereits.
Ich habe einige Ajax liefert eine Reihe von Ergebnissen, und wenn einer geklickt, es lädt einfach die URL mit den angehängten Daten an den URL für PHP, um auf die nächste Seite. Das problem ist, wenn der Benutzer geklickt hat, um einige Bauten in der Verankerung (die ich nicht entfernen kann), wird die URL something.com#location1
so Anhängen ?action=next
wird es in something.com#location1?action=next
die der browser interpretiert wird, als eine lange verankern, anstatt eine neue URL tatsächlich direkt an.
Wenn der Benutzer nie klickt auf den Anker-Teil diese Umleitung funktioniert reibungslos mit window.location=document.url+"?action=next"
Gibt es eine Möglichkeit zum entfernen der Anker (einschließlich der hash-tag) aus der vorhandenen URL der aufgerufenen Seite?
GELÖST
Mit Michael W ' s beantworten ich war in der Lage, es zu lösen. Ich habe einfach ersetzt diese Zeile:
window.location=document.url+"?action=next"
Mit dabei:
window.location=document.location.href.match(/(^[^#]*)/)[0]+"?action=next"
Danke für die Hilfe!
- Keines dieser Ergebnisse Ihnen helfen?
- Ich ging mit Michael W ' s-Lösung (mit einer kleinen Modifikation), als solche markiert und bearbeitet die ursprüngliche Frage einschließen, um die Lösung für die zukünftigen Leser.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man match für die pre-hashtag Teil der Lage:
window.location=document.location.href.match(/(^[^#]*)/)[0]
ich abgebrochen mitdocument.url
ganz.Scheint dies ein bisschen einfacher ist:
Des location-Objekts zugegriffen werden kann, die von unabhängigen Komponenten, und Sie können diese zu rekonstruieren, die URL mit so viele oder so wenige Stücke, wie Sie möchten.
Die offizielle Dokumentation ist offline, in dieser Zeit aber diese Website scheint es.
Sollten die internen links, die Sie erzeugen, werden Sie nur brauchen, erzeugen einer relativen url und vielleicht auch nur
location.pathname
würde ausreichen.Beachten Sie, dass Sie getaggt Ihrer Frage, wie Javascript, aber da Sie Programmieren in PHP, ich vermute, was Sie brauchen, ist zu erzeugen, die links auf der PHP-Seite.
location.pathname
tatsächlich funktioniert für mich. Aber was ist der Unterschied zwischenwindow.location.pathname
?