Посетить stackoverflow.com/#_=_
и window.location.hash
оценили по: #_=_
. Хорошо.Очистить URL-адрес хэш-файла
Теперь выполните window.location.hash = ''
, чтобы очистить хэш, и URL станет stackoverflow.com/#
. (Обратите внимание на завершающий #
.)
Почему #
в window.location.hash
непоследовательно включены или исключены? Как удалить #
из URL без перезагрузки страницы?
(MDN говорит
[хэш] часть URL, который следует символ #, включая символ #.
, но это не верно для в случае пустой хэш)
С каким браузером вы наблюдали это поведение? – Gumbo
Посещение 'stackoverflow.com/#' также приводит к 'window.location.hash === ''', поэтому это последовательное поведение. –
Вы говорите, что манипулирование 'hash' с помощью JavaScript приводит к' # 'в URL-адрес и пустое свойство' hash'. Теперь посещение страницы только с # # в URL-адресе также приводит к пустому свойству hash. Свойство 'hash' заполняется только тогда, когда в URL есть другие символы после' # ', и это согласованное поведение во всех браузерах. –