2017-05-16 3 views
0

Ich versuche, die window.location.hash Satz zu null oder "" jedes Mal, wenn eine Taste gedrückt wird vorlegen haben, und haben dann die Raute auf #bottom gesetzt. Grundsätzlich was ich will ist der Hash auf immer = #bottom, wenn sie eine bestimmte Submit-Taste drücken. Das habe ich gerade jetzt.kann zurückgesetzt den Standort Hash nicht auf einreichen

 window.setTimeout(function() { 

          if (window.location.hash) { 
           window.location.hash.replace("#", ""); 
          } else { 
           window.location.href += "#bottom"; 
          } 

          location.reload(); 
         }, 1000) 

Allerdings bleibt der Hash immer gleich, wenn die Taste gedrückt wird. Zum Beispiel, wenn der Hash mysite#reply ist und ich übergebe, bleibt es mysite#reply. Ich würde mich über jede Hilfe freuen.

Antwort

0

müssen Sie es auf den Wert setzen, der von .replace() zurückgegeben wird.

window.setTimeout(function() { 
    if (window.location.hash) { 
     window.location.href = window.location.hash.replace("#", ""); 
    } else { 
     window.location.href += "#bottom"; 
    } 
    location.reload(); 
}, 1000) 
+0

die perfekte usecase des berühmten OR-Operator: window.location.href + = window.location.hash || "#bottom"; –

Verwandte Themen