2017-01-19 1 views
0

sagen, dass meine navbar diese beiden URLs hat:Wie Last href zu zwingen, die gleiche URL verwendet, aber verschiedene Hash-params

<a href='/action#?action_type=test'>test</a> 

und

<a href='/action#?action_type=tset'>tset</a> 

Mein Problem ist, sagen, dass Sie in die 'test' Seite, wenn Sie auf die tset-Seite klicken, wird es nur die Hash-Parameter ändern und keine Last erzwingen. Der Grund, warum ich onclick Listener nicht verwende, ist, weil ich den Benutzer in der Lage sein soll, auf ein Element zu klicken, wenn es in einem neuen Tab gewünscht wird. Wenn ich Onclick-Listener verwende, scheint diese Funktion wegzugehen. Wie soll ich weitermachen?

Antwort

0

Ein Hash-Parameter wird eigentlich Fragment-URL genannt.

Fragment URLs werden nicht an den Server gesendet (siehe andere question), stattdessen sollen sie verwendet werden, um zu verschiedenen Teilen einer Seite zu verlinken (mit Ankern). Sie sollten nicht laden Sie die Seite neu, wenn Sie auf eine klicken, und Browser nicht erwarten Sie auch.

Wenn Sie beim Klicken auf ein Hash-Fragment neu laden müssen, machen Sie etwas falsch.

Verwenden Sie stattdessen einen Abfrageparameter, der automatisch vom Server neu geladen wird und der Browser weiß, was Sie tun.

<a href='/action?action_type=tset'>tset</a> 

HTML erfordert, dass Sie und der Browser dem zustimmen, was Sie tun. Sie könnten es mit Javascript austricksen, aber dann verlieren Sie Unterstützung vom Browser.

Entscheiden Sie, ob Sie Javascript verwenden möchten, oder entscheiden Sie sich für Abfragezeichenfolgen.

+0

Ah, also sollte ich die Art, wie ich Dinge mache, neu strukturieren. Vielen Dank! Das macht sehr viel Sinn. –

Verwandte Themen