2016-07-09 16 views
1

Zum Beispiel im Moment bin ich bei http://example.com/practiceWie bette ich den Pfad zum Ankerpfad in den aktuellen Pfad ein?

Wenn ich auf einen Link in der generierten Seite haben: <a href="5">Click here</a>, ich bin zu http://example.com/5 gerichtet.

Jetzt weiß ich, dass dies die übliche Methode des relativen Pfades ist. Aber was ich eigentlich hier brauche ist, dass der Link mich zu http://example.com/practice/5 bringt, ohne dass ich practice oder example.com auf dieser Seite angeben muss. Wenn möglich, wenn kein Javascript verwendet wird, aber wenn es nicht möglich ist, dann muss ich Javascript verwenden.

Ich habe bereits versucht <a href="./5">Click here</a> und <a href="./5/">Click here</a> und sie arbeiten immer noch genau wie "5".

Bitte helfen. Vielen Dank.

+1

In relativen Pfaden werden nur "Verzeichnisse" vererbt. Wenn Sie also reines HTML verwenden möchten, müssen Sie den aktuellen Pfad wie "http://example.com/practice/" angeben. Verwenden Sie andernfalls window.location, um einen neuen Pfad zu erstellen. – domax

Antwort

1

Sie können etwas in Ihrem Javascript tun, wo Sie den aktuellen Standort mit window.location.href greifen (es kann einen besseren Weg geben, je nachdem, ob Sie irgendwelche js-Frameworks verwenden). Zum Beispiel für diese Seite, window.location.href gibt https://stackoverflow.com/questions/38284340/how-to-embed-path-to-the-current-path-at-anchor-href

Sie dann im Wesentlichen So etwas wie diese

var baseUrl = window.location.href; 
var aTag = document.querySelector(<selector for your anchor tag>); 
aTag.setAttribute("href", baseUrl + "/" + <url we want to go to>); 

tun konnten wir unsere aktuelle Position schnappen, ändern Sie die href des Tags wir navigieren möchten , fügen Sie dann die Unterroute hinzu, zu der wir am Ende gehen möchten. Eine Art seltsamer Weg, es zu tun, aber wie ich schon sagte, es könnte einen einfacheren Weg geben, wenn Sie react oder eckig oder ein anderes Framework oder eine Bibliothek verwenden.

+0

In Ordnung, dann sieht es so aus, als ob es ohne Javascript nicht möglich wäre. Danke für die Erklärung und den Javascript-Code! :) –

Verwandte Themen