在JavaScript中更改URL时随时检查URL

在JavaScript中更改URL时随时检查URL,javascript,Javascript,我正在使用以下代码更改元素的显示。我使用jQuery,我的问题是它只检查乞讨中的URL,而在URL的下一次更改中它不起作用 <script> alert(window.location.href); if (window.location.href.indexOf("drinks=spirits") > -1) { alert("Hello! I am an alert box!!");

我正在使用以下代码更改元素的显示。我使用jQuery,我的问题是它只检查乞讨中的URL,而在URL的下一次更改中它不起作用

    <script>
        alert(window.location.href);
    
        if (window.location.href.indexOf("drinks=spirits") > -1) {
alert("Hello! I am an alert box!!");
    
    }
    
    </script>

警报(window.location.href);
if(window.location.href.indexOf(“饮料=烈酒”)>-1){
警报(“你好!我是一个警报框!!”);
}
例如: 我遵循以下顺序:

1-第一次访问时,URL是
HTTP://example.com/drinks=spirits
,可以正常工作

2-然后我点击一个过滤器,因为我使用ajax而没有重新加载页面,所以URL变为
HTTP://example.com/drinks=spirits&price=less_10

3-然后,当我删除过滤器时(页面也没有重新加载,它只删除查询),URL将是
HTTP://example.com/drinks=spirits
现在,
警报
不会出现


我正在寻找一种解决方案,它可以在用户重定向到
HTTP://example.com/drinks=spirits
时显示
警报
,您需要
hashchange
事件侦听器:

window.addEventListener("hashchange", function() {
  alert(window.location.href);

  if (window.location.href.indexOf("drinks=spirits") > -1) {
    alert("Hello! I am an alert box!!");
  }
});

谢谢,这对我不起作用。我尝试:
window.addEventListener(“hashchange”,function(){alert(window.location.href);})但它不会发出任何警报。