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

Как определить изменения URL с помощью jQuery

Как jQuery обнаруживает изменения в URL?

Например: если пользователь переходит на страницу site.com/faq/, ничего не отображается, но если он переходит к site.com/faq/#open, jquery обнаруживает его и делает что-то.

4b9b3361

Ответ 1

Вы можете использовать событие hashchange.
или интегрируйте jquery hashchange плагин

$(function(){

  // Bind the event.
  $(window).hashchange(hashchanged);

  // Trigger the event (useful on page load).
  hashchanged();

});

function hashchanged(){
 var hash = location.hash.replace( /^#/, '' );
 //your code
}

Ответ 2

Попробуйте это

$(window).on('hashchange', function(e){
 // Your Code goes here
});

Его работа для меня

Ответ 3

Просто посмотрите window.location.hash на загрузку страницы:

$(document).ready(function() {
    if(window.location.hash === "open")
    {
        //Show something
    }
});

Или привязать к событию hashchange окна:

$(document).ready(function() {
    $(window).hashchange(hashchanged);
});

function hashchanged()
{
    //Show something
}

Ответ 4

Попробуйте следующее:

if (window.location.hash) {
    // Fragment exists, do something with it
    var fragment = window.location.hash;
}

Просто для справки, часть url, указанная #, называется "фрагментом"

Ответ 5

Если у вас есть URL site.com/faq/#open, вы можете сделать

var hash = window.location.hash

чтобы получить hash = 'open'