如何处理window.location.href事件

时间:2016-07-03 15:22:14

标签: javascript redirect abort window.location

我想知道页面尝试导航的位置(通过Javascript),如果是http://foo.com我想要中止重定向。

示例:

function onredirect(url)
{
   if(url == 'http://foo.com')
   { 
      abort();
   }
}

我无法找到处理动作的方法,更不用说在事件处理参数中获取target-url了。有可能:

  • 收听页面更改事件(作为 window.location.href命令的结果)和
  • 如果特定网址是目标,则中止导航?

目的是下面的代码段不会导航到指定的网站:



function handleNavigation(urlDestination)
{ 
  
    alert('leaving to ' + urlDestination); 
    alert('Now a code for abortion should be executed if URL is foo.com'); 
}

window.onhashchange = handleNavigation;

window.onunload =   handleNavigation ;
window.addEventListener("beforeunload", function (e) {
    handleNavigation()
}, false);
window.addEventListener("unload", function (e) {
   handleNavigation()
}, false);

window.addEventListener('popstate', handleNavigation);
 

window.onload = function(){

    window.location.href = 'http://foo.com'; //I want to know when this happened

}

<body onunload="handleNavigation()">
  </body>
&#13;
&#13;
&#13;

这个问题的答案将帮助我回答Javascript Injection prevention on Wordpress

我想要的是,如果用户输入http://foo.com他可以离开。如果一个剧本将他重定向到http://foo.com,我想保护他不要离开那个地方。

虽然这与Event when window.location.href changes类似但我希望将target-url视为参数。这也可能有用,我想记录用户离开我的网站后要去的页面。

0 个答案:

没有答案