javascript - 检测用户是否在新选项卡中打开链接并重定向到新网址

标签 javascript c# jquery asp.net

我正在尝试做一些我不确定是否可能的事情?

用户打开网站。如果他们尝试在新选项卡中重新打开链接,我需要将他们重定向到另一个页面。

我尝试过使用c#看看我是否可以检测到页面重新加载。这是可行的,但是如果我出于某种原因将代码放入页面加载事件中,它会运行两次,并且无论它们是第一次打开还是在新选项卡中打开,它都会重定向它们。我只需要在他们打开新标签时发生。

我的代码:

bool IsPageRefresh = false;
if (!IsPostBack)
{
  ViewState["ViewStateId"] = System.Guid.NewGuid().ToString();
  Session["SessionId"] = ViewState["ViewStateId"].ToString();
}
else
{
  if (ViewState["ViewStateId"].ToString() != Session["SessionID"].ToString()) ;
  {
    IsPageRefresh = true;
    if (IsPageRefresh == true)
    {
      Response.Redirect("~/Pages/EstimateList.aspx", true);
    }
  }
  Session["SessionId"] = System.Guid.NewGuid().ToString();
  ViewState["ViewStateId"] = Session["SessionId"].ToString();
}

我需要使用 JavascriptjQuery去做这个?我对Javascript真的很陌生和jQuery .

最佳答案

您可以使用cookie。当用户第一次打开页面时,您会向计算机发送一个 cookie,内容为 PageOpened=true ,当用户在新选项卡中打开它时检查是否有 cookie with PageOpened=true ,如果有,请在浏览器中打开您的其他链接。

您可以给您的 cookie 设置时间限制,或者在第一个站点关闭或用户打开新选项卡等时销毁它们。

我无法向您提供代码,因为我从未在网络上使用过 C#,但这应该可以让您了解解决方案的可能途径。

P.S.:作为用户,我也会觉得这很烦人,但这是你的决定。

关于javascript - 检测用户是否在新选项卡中打开链接并重定向到新网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38659998/

相关文章:

c# - 在Ui线程上执行同步操作

jquery - 如何防止在图像 slider 上加载背景图像

javascript - jQuery 错误 - datepicker 不是函数 ()?

javascript - 如何保存标记?

c# - automapper bool 属性为是或否

javascript - 开发自定义剑道 ui 小部件

javascript - 如何强制复选框表现得像单选按钮、双循环

JavaScript 函数在从 ASP.net 代码隐藏创建和调用时应该是未定义的

javascript - 将变量设置为现有值还是返回值?

C# 如何使用 HttpWebRequest 获取 JSON 字符串