2012-04-05 3 views
3

После удаления хэша из URL с помощью window.location.hash='' страница, загружаемая в firefox.Удаление хэша из URL

EDIT

Пример:

wwww.Mysite.come/#page=1

На нажатие кнопки я извлекая хэш-значение, используя следующий код

window.location.hash=''

После удаления страницы хэш перезагружается в firefox.

Я не хочу, чтобы перезагрузить страницу, я просто хочу, чтобы удалить хэш из URL

Как это исправить?

+8

Извините, но ваш вопрос не имеет смысла. Можете ли вы прояснить и показать примеры кода? – webnoob

+0

Почему вы хотите удалить хэш? –

+0

Я представляю форму ajax, и часть страницы меняется. После этого шага значение хэша не имеет смысла, поэтому я хочу удалить его – suma

ответ

4

От https://developer.mozilla.org/en/DOM/window.location:

Примеры

Всякий раз, когда свойство объекта местоположения изменен, документ будет загружен с помощью URL, как если бы window.location.assign() была называется с измененным URL.

Этот вопрос я думаю, что адреса, которые вы хотите с помощью JQuery:

Change hash without reload in jQuery

Другие вопросы, связанные с:

Change the URL in the browser without loading the new page using JavaScript

How to remove the hash from window.location with JavaScript without page refresh?

How can I change Firefox window.location.hash without creating a page reload?

21

На всякий случай кто-то еще ищет решение. Попробуйте это, когда страница загрузится.

history.pushState("", document.title, window.location.pathname); 
2

Если я правильно понимаю,

<a href="#someElementID" id="myLinkName">Some Text</a> 

нажав на ссылку выше в браузере обычно приводит к дополнительным хэша в адресной строке, как www.websitename.com # someElementID < - это это то, что вы ищете предотвратить, да?

Решение, которое я просто проверял, который работает и не обновляет страницы:

event.preventDefault(); 

Это работает в 'клик() событие, которое включает в себя опорные метки, которые ссылаются на элементы Ид, таких как в приведенном выше примере привязки.В действии, он будет выглядеть в вашем "клике() событие:

<script> 
    $('#myLinkName').click(function(){ 
     event.preventDefault(); 
     //the rest of the function is the same. 
    }); 
</script> 

Теперь, нажав на ту же ссылку оставляет адресную строку с тем же URL www.websitename.com, без добавления хэша от щелкнув якорь.

2

Мы можем удалить/удалить из добавления хэша, вернув false в функцию щелчка.

<script> 
    $('#add_user').click(function(){  
    //your custom function code here.. 
    return false; 
}); 
</script> 

<a id="add_user" href="#">Add Card</a> 
Смежные вопросы