Wie trimme ich die URL auf den Seitennamen ab?

7

Wie würde ich die URL auf den Seitennamen abstimmen / entfernen ...

Also: http://www.BurtReynoldsMustache.com/whatever/whoever/apage.html

Würde zu: apage.html

Irgendwelche Ideen?

    
Barrie Reader 09.07.2010, 13:36
quelle

6 Antworten

11

Sie brauchen keine jquery:

%Vor%

Bearbeiten: ein guter Punkt der möglichen Abfragezeichenfolge:

%Vor%

ok, wenn das location-Objekt verfügbar ist, verwenden Sie den Pfadnamen, um ein besseres Ergebnis zu erhalten, wie unten gezeigt. Eine URL kann jedoch eine Zeichenfolge oder etwas direkt aus dem Textfeld oder span / label sein. Also sollte die obige Lösung ihren Platz haben.

    
ccppjava 09.07.2010, 13:41
quelle
9

Mit location und einem beliebigen Link ( <a> ) auf der Seite erhalten Sie eine Menge von Eigenschaften, die Ihnen bestimmte Teile der URL geben: protocol , host , port , pathname , search und hash .

Sie sollten immer diese Eigenschaften verwenden, um Teile der URL zu extrahieren, anstatt mit href herumzuhacken und es wahrscheinlich für Eckfälle falsch zu machen. Zum Beispiel schlägt jede bisher gelieferte Lösung fehl, wenn ein ?query oder #fragment vorhanden ist. Die Antworten von Rob und digitalFresh versuchen, mit ihnen fertig zu werden, werden aber immer noch fehlschlagen, wenn ein / -Zeichen in der Abfragezeichenfolge oder dem Fragment vorhanden ist (was gültig ist).

Stattdessen einfach:

%Vor%     
bobince 09.07.2010 14:21
quelle
4

Die meisten Lösungen hier nutzen das Objekt window.location nicht. Das location-Objekt hat diese wunderbare Sache namens pathname, die nur den Pfad, keine Abfragezeichenfolge, Host, Protokoll, Hash, etc. zurückgibt.

%Vor%     
epascarello 09.07.2010 14:24
quelle
1

Sie könnten so etwas tun:

%Vor%

Edit: Wahrscheinlich möchten Sie die Abfragezeichenfolge loswerden, wenn es auch eine gibt:

%Vor%

Edit 2: Dies ignoriert auch einen Anker in der URL, wenn es einen

gibt %Vor%     
Rob 09.07.2010 13:46
quelle
0

Dies sollte auch Abfrage- und Hash-Werte ausschließen.

%Vor%     
tcooc 09.07.2010 13:47
quelle
-1

Habe nicht so gründlich getestet, aber ich bin mir sicher, dass so etwas funktioniert: -)

%Vor%

BEARBEITEN Getestet unter jsfiddle und es war falsch, der obige Code sollte nun funktionieren: -)

    
Ben Everard 09.07.2010 13:39
quelle

Tags und Links