【问题标题】:Alert user before navigating to external site URL ASP.NET在导航到外部站点 URL ASP.NET 之前提醒用户
【发布时间】:2023-03-25 10:02:02
【问题描述】:

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

【问题讨论】:

    标签: javascript asp.net url navigation external


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我做过类似的工作,但在 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
        }
       }
      

      【讨论】:

        猜你喜欢
        • 2023-03-13
        • 1970-01-01
        • 2017-12-22
        • 2016-12-14
        • 2017-11-19
        • 1970-01-01
        • 1970-01-01
        • 2021-03-09
        • 2011-03-18
        相关资源
        最近更新 更多