【问题标题】:How to open new page in new tab and redirect current page如何在新选项卡中打开新页面并重定向当前页面
【发布时间】:2017-08-08 00:46:16
【问题描述】:

新标签效果很好,但由于某些原因,当前页面没有重定向(changeLocation() 中的window.location 不起作用)

每次单击按钮时,函数changeLocation()都会调用成功,但位置不会改变。

基本上,由于表单提交,window.location 似乎不起作用(尽管我使用 target="_blank")。但是,如果我在 window.location 之后添加 return false 来运行,我无法在更改位置后提交表单(因为我已经在另一个页面上)并且在更改位置之前也无法提交。

这有可能让它以某种方式工作吗?谢谢。

function changeLocation (){
  window.location = "http://bing.com";
}
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>EXAMPLE</title>
</head>
<body>
<form action="https://google.com" target="_blank">
  <input type="text">
  <button onclick="changeLocation()">Submit</button>
</form>
</body>
</html>

【问题讨论】:

  • @Abaddon666 我看到了这个问题,但是我使用了 target="_blank",所以这个页面不应该重新加载,对我来说。
  • 嗯,它对我有用。
  • window.location 是一个对象,用字符串覆盖它是没有意义的。 window.location.href = ... 是正确的做法。
  • 尝试在浏览器中不启用任何扩展。由于现在许多阴暗的“在线广告商”使用这种技术来试图绕过弹出窗口拦截器,它可能只是因为这个原因而被抓住了。

标签: javascript html


【解决方案1】:

此代码适用于火狐

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>EXAMPLE</title>
  <script type="text/javascript">
      function changeLocation (){
  window.location = "http://bing.com";
      }
  </script>
</head>
<body>
<form action="https://google.com" target="_blank">
  <input type="text">
  <button onclick="changeLocation()">Submit</button>
</form>
</body>
</html>

google.com 正在新标签中加载,当前标签中正在加载 bing.com

【讨论】:

  • 你确定吗?我已经创建了新文件并在这里​​尝试,但我不仅打开了谷歌的新标签(至少在 chrome 中)
  • 好的,抱歉。在Firefox中它确实有效。请编辑您的消息,我会支持您。被错误地否决了。
【解决方案2】:

要解决它,您需要添加 setTimeout 来实现这样的功能。

function changeLocation (){
 setTimeout(function(){
  window.location = "http://bing.com";
 },200);
}

不知道为什么,但效果很好。

【讨论】:

    【解决方案3】:
    Dim returnUrl = Request.UrlReferrer.ToString()
    Response.Write("<script> setTimeout(function(){window.location = """ + returnUrl + """;},200);window.open (""" + loginurl + """,'_blank');</script>")
    

    【讨论】:

      猜你喜欢
      • 2015-07-26
      • 2012-01-15
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      相关资源
      最近更新 更多