导航到外部站点URL ASP.NET之前提醒用户

时间:2013-01-11 00:58:51

标签: javascript asp.net url navigation external

使用主要包含几个母版页的ASP.NET应用程序,这些母版页控制应用程序中的其余页面和用户控件。我们收到客户的请求,如果用户尝试导航到任何其他外部网站,则会向用户发出警告。例如,如果我们的应用程序是www.abc.com,如果他们在abc.com/user,abc.com/payment等,他们是键入www.yahoo.com并尝试离开,我们需要能够提醒用户他们正在从应用程序导航到其他站点。我们正在寻找一种方法来通过Javascript(如果可能)或任何其他替代.NET方式来实现这一目标。在最糟糕的情况下,我们甚至可以考虑第三方工具(尽管不是首选)。

2 个答案:

答案 0 :(得分:0)

您需要处理javascript 窗口对象事件。 Google DOM活动。

答案 1 :(得分:0)

我做过类似但在IE中工作。虽然解决方案不是经证实但对我有用。解决方案是window.onbeforeunload事件上的JS函数。基本上我们需要考虑两件事:

  1. 如果用户点击我们网站区域外的意思是后退/前进按钮或关闭浏览器等 - window.event.clientY将为负数。
  2. 如果我们的网站显示一些弹出窗口,需要忽略它们,因为它是我们网站的一部分。
  3. {

     window.onbeforeunload = function (e) 
     {
    
      var currUrl = document.URL;
      e = e || window.event;
      var y = e.pageY || e.clientY;
    
     if (y < 0) 
     { 
       //call session end logic here
       //check URL in case you have popup windows in your website
       if (currUrl.indexOf('<popuppagename.aspx') >= 0 || ...)
         return;
       else
        //user is navigating away so show alert
      }
     }