Подтвердить что ты не робот

В чем разница между "window.location.href" и "window.location.hash"?

Я изучил "window.location.hash" новый и попытался в моем jquery-коде вместо "window.location.href" , и оба они дали одинаковые результаты.

Код находится здесь:

window.location.href = ($(e.currentTarget).attr("href"));
window.location.hash = ($(e.currentTarget).attr("href"));

В чем разница между ними?

4b9b3361

Ответ 1

Для URL-адреса, такого как http://[www.example.com]:80/search?q=devmo#test

hash возвращает часть URL-адреса, которая следует за символом #, включая символ #. Вы можете прослушать событие hashchange, чтобы получать уведомления об изменениях в хеше в поддерживающих браузерах.

Returns: #test

href возвращает весь URL-адрес.

Returns: http://[www.example.com]:80/search?q=devmo#test

Подробнее

Ответ 2

Одно важное отличие состоит в том, что window.location.hash является urldecoded, в то время как идентификатор фрагмента в window.location.href не является urldecoded. Другими словами:

window.location.hash.split('#')[1] != window.location.href.split('#')[1]

Если URL-адрес http://example.com/page#3%3D3, то:

window.location.hash.split('#')[1] == '3=3'
window.location.href.split('#')[1] == '3%3D3'

Другими словами:

window.location.hash.split('#')[1] == decodeURIComponent(window.location.href.split('#')[1])

Ответ 3

Проверьте его, например, http://stackoverflow.com/#Page

href = http://stackoverflow.com/#Page
hash = #Page

Ответ 5

hash и href - оба свойства объекта window.location. hash является частью URL-адреса из # on (или пустой строки, если нет #), а href - строковое представление всего URL-адреса.

Ответ 6

Свойство hash возвращает опорную часть URL-адреса, включая знак хеша (#).

Ответ 7

Вот простой пример разницы между window.location.href и window.location.hash

Для URL http://www.manm.com/member/#!create:

  • href: http://www.manam.com/member/#!create
  • hash: #!create