E 'possibile rimuovere l'hash da window.location
senza far scorrere la pagina verso l'alto? Devo essere in grado di modificare l'hash senza causare salti.Come posso rimuovere l'hash della posizione senza far scorrere la pagina?
ho questo:
$('<a href="#123">').text('link').click(function(e) {
e.preventDefault();
window.location.hash = this.hash;
}).appendTo('body');
$('<a href="#">').text('unlink').click(function(e) {
e.preventDefault();
window.location.hash = '';
}).appendTo('body');
vedi esempio vivo qui: http://jsbin.com/asobi
Quando 'collegamento' l'utente seleziona il tag hash viene modificato senza qualsiasi pagina, salti, in modo che sta lavorando bene.
Ma quando l'utente fa clic su "scollega" il tag has viene rimosso e lo scroll della pagina salta in alto. Devo rimuovere l'hash senza questo effetto collaterale.
Lasciami indovinare: il tuo cliente pensa che l'hash è brutto e sta inquinando l'URL bello e altrimenti pulito che legge: http: // www.example.com/ (senza lo spazio bianco)? – anddoutoi
Buona ipotesi, ma no. Ho finestre modali con segnalibro basate su hash URL e quando l'utente chiude la finestra, l'hash deve andare. – David
Sono consapevole che questa domanda ha quasi 2 anni, ma questo commento può aiutare un futuro lettore. Se si desidera rimuovere l'hash, è possibile modificare l'URL utilizzando history.pushState(). https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history#Example – ambiguousmouse