[英]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.