Как определить изменения URL с помощью jQuery
Как jQuery обнаруживает изменения в URL?
Например: если пользователь переходит на страницу site.com/faq/
, ничего не отображается, но если он переходит к site.com/faq/#open
, jquery обнаруживает его и делает что-то.
Ответы
Ответ 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'