Javascript 如何在“新建”选项卡中打开新页面并重定向当前页面

Javascript 如何在“新建”选项卡中打开新页面并重定向当前页面,javascript,html,Javascript,Html,“新建”选项卡工作正常,但由于某些原因,当前页面没有重定向(changeLocation()中的window.location不起作用) 每次单击按钮时,函数changeLocation()都会调用success,但位置不变 基本上,由于表单提交,window.location似乎不起作用(尽管我使用target=“\u blank”)。但如果我在window.location之后添加return false函数,我将无法在更改位置后提交表单(因为我已经在另一个页面上),也无法在更改位置之前提交

“新建”选项卡工作正常,但由于某些原因,当前页面没有重定向(changeLocation()中的window.location不起作用)

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

基本上,由于表单提交,window.location似乎不起作用(尽管我使用target=“\u blank”)。但如果我在window.location之后添加return false函数,我将无法在更改位置后提交表单(因为我已经在另一个页面上),也无法在更改位置之前提交表单

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

函数更改位置(){
window.location=”http://bing.com";
}

例子
提交

此代码适用于firefox

<!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>

例子
函数changeLocation(){
window.location=”http://bing.com";
}
提交

google.com正在加载到新的选项卡中,而当前的选项卡正在加载bing.com。要解决这个问题,您需要添加setTimeout以实现如下功能

function changeLocation (){
 setTimeout(function(){
  window.location = "http://bing.com";
 },200);
}
不知道为什么,但它工作得很好。

Dim returnUrl=Request.urlreferer.ToString()
Dim returnUrl = Request.UrlReferrer.ToString()
Response.Write("<script> setTimeout(function(){window.location = """ + returnUrl + """;},200);window.open (""" + loginurl + """,'_blank');</script>")
Response.Write(“setTimeout(function(){window.location=”“+returnUrl+”;},200);window.open(“+loginurl+”,“\u blank”);”)
可能重复@Abaddon666我看到了这个问题,但我使用target=“\u blank”,所以这个页面不应该重新加载,对我来说。哼,它在小提琴中为我工作。
窗口。location
是一个对象,用字符串覆盖它毫无意义
window.location.href=…
是正确的方法。请在浏览器中不启用任何扩展的情况下尝试。由于如今许多阴暗的“在线广告商”都使用这种技术试图绕过弹出窗口拦截器,这可能仅仅是因为这个原因,它被抓住了。你确定吗?我已经创建了一个新文件并在这里试用,但我不是唯一一个打开谷歌新标签的人(至少在chrome中是这样)好的,对不起。在firefox中,它确实有效。请编辑你的留言,我会及时通知你的。他被错误地否决了。