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

时间:2017-03-16 17:27:32

标签: javascript html

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

每次单击按钮时,

函数changeLocation()调用成功,但位置不会改变。

基本上,似乎window.location因为表单提交而无效(尽管我使用target =“_ blank”)。但是如果我在window.location之后添加return false函数,我就无法在更改位置后提交表单(因为我已经在另一页面上)并且在更改位置之前也无法提交。

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

hideExpression: 'model.hideRadioBtn'
function changeLocation (){
  window.location = "http://bing.com";
}

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

要解决这个问题,你需要添加setTimeout来实现这样的功能。

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

没有想法,但它的工作完美。

答案 2 :(得分:0)

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