使用javascript检测页面更改?

时间:2018-05-05 06:58:51

标签: javascript jquery

如何使用javascript检测我被重定向到哪个页面。

$(window).on("onbeforeunload",()=>{
    alert("Something")
})

此代码永远不会执行(尽管我重新加载页面或点击其他URL)。我在localhost上运行我的脚本。此外,我想知道我被重定向到的页面的URL。

这是我的完整HTML:

<!DOCTYPE html>
<html>
    <head>
         <title>Practice</title>
         <script 
     src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> 
        </script>
    </head>

<body>
    <script>
        $(window).unload(()=>{
            alert("Something");
        })

    </script>
    <a href = "http:\\www.youtube.com">Link</a>


</body>
</html>

2 个答案:

答案 0 :(得分:2)

也许您可以alert()或做任何您想做的事情然后重定向到url,如下例所示?

$('a').on('click', function(e){
  e.preventDefault();
  let url = this.href;
  alert(`You're leaving this page, would be redirected to : ${url}`)
  window.location.href = url;
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href = "https://stackoverflow.com/help/mcve">Link1</a>
<a href = "https://stackoverflow.com/help/deleted-questions">Link2</a>

答案 1 :(得分:0)

在现代浏览器(IE8 +,FF3.6 +,Chrome)中,您只需在窗口上收听hashchange事件即可。

if ("onhashchange" in window) {
  alert("The browser supports the hashchange event!");
}
function locationHashChanged() {
  if (location.hash === "#somecoolfeature") {
    somecoolfeature();
  }
}
window.onhashchange = locationHashChanged;