0

处理主要具有几个母版页的 ASP.NET 应用程序,这些母版页控制应用程序中的其余页面和用户控件。我们收到来自客户的请求,希望在用户尝试导航到任何其他外部站点时警告用户。例如,如果我们的应用程序是 www.abc.com,如果它们位于 abc.com/user、abc.com/payment 等,并且他们要键入 www.yahoo.com 并尝试离开,我们需要能够提醒用户他们正在从应用程序导航到其他站点。我们正在寻找一种方法来通过 Javascript(如果可能)或任何其他替代 .NET 方式来完成此任务。在最坏的情况下,我们甚至可以考虑使用 3rd 方工具(虽然不是首选)。

4

2 回答 2

0

您需要处理 javascript窗口对象事件。谷歌 DOM 事件。

于 2013-01-11T01:10:09.200 回答
0

我做过类似的工作,但在 IE 中工作。尽管该解决方案尚未经过验证,但对我有用。解决方案只是 window.onbeforeunload 事件上的 JS 函数。基本上我们需要在这里考虑两件事:

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

{

 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
  }
 }
于 2013-01-11T01:44:21.660 回答