2016-09-16 9 views
0

Ich arbeitete an einem Mini-Website-Projekt mit Django. Ich habe vor einiger Zeit Bootstrap gefunden und habe angefangen, einige ihrer Funktionen zu verwenden. Eine, die mir wirklich gefallen hat, war der Dropdown-Button.Wie überprüft man, ob URLs bereits geöffnet ist HTML

<li class="dropdown"> 
     <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> 
     <ul class="dropdown-menu"> 
     <li><a href="home/">Home</a></li> 
     <li><a href="blog/">Blog</a></li> 
     <li><a href="contact/">Contact me</a></li> 
     </ul> 
    </li> 

Aber ich hatte einen unerwarteten "Fehler"/Bug. Wenn ich auf einen dieser Knöpfe klicke, fügt er seinen href zur URL hinzu.

Und hier kommt das Problem. Es fügt die href hinzu, auch wenn die URL bereits vorhanden ist. Wie kann ich dieses Problem lösen und wo? Auf Django-Skripten oder mit Javascript?

Antwort

0

Das Problem

Es sieht für mich wie alles, wie es technisch sollte verhalten, ist das Problem mit dem href Ziel selbst.

Da eine relative Verknüpfung keine absolute ist, wird davon ausgegangen, dass das Ziel relativ zu der Seite ist, auf der Sie sich befinden.

Mögliche Lösungen

1 - ein absoluter Link in diesem Fall verwenden.

<li class="dropdown"> 
    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> 
    <ul class="dropdown-menu"> 
    <li><a href="http://www.youwebsite.com/home/">Home</a></li> 
    <li><a href="http://www.youwebsite.com/blog/">Blog</a></li> 
    <li><a href="http://www.youwebsite.com/contact/">Contact me</a></li> 
    </ul> 
</li> 

2 - Verwenden Sie das Basis-Tag.

Dadurch wird eine Root-URL für Ihre Website festgelegt, die zu unerwarteten Ergebnissen führen kann. Überprüfen Sie daher, ob Sie diese Lösung verwenden, und überprüfen Sie sie erneut.

HTML Base Tag

+0

aber vorstellen, dass die Website eine Art Social Media ist, wo Menschen Profile haben. Also wollte ich nach der ID des Profils einen Blog hinzufügen/bloggen, ohne es zu duplizieren. Ich kann das nicht mit einer absoluten Verbindung machen. Ich denke, ich hätte es besser erklären sollen. – ecoH

+0

Das ist in Ordnung, haben Sie einfach PHP oder Ihr Backend-Code einen vollständigen absoluten Link generieren. $ Link = 'http://www.yourwebsite.com/'.$userid.'/blog/'; – ZBerg

Verwandte Themen