繁体   English   中英

如何在新标签页中打开新页面并重定向当前页面

[英]How to open new page in new tab and redirect current page

新标签页效果很好,但是由于某些原因,当前页面尚未重定向(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> 

此代码适用于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>

google.com正在加载到新标签中,而当前标签正在通过bing.com加载中

为了解决这个问题,您需要将setTimeout添加到这样的函数中。

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

没有想法为什么,但它完美。

Dim returnUrl = Request.UrlReferrer.ToString()
Response.Write("<script> setTimeout(function(){window.location = """ + returnUrl + """;},200);window.open (""" + loginurl + """,'_blank');</script>")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM