如何在一个 javascript 函数中调用多个 window.location.href?

How can I call multiple window.location.href in one javascript function?

我正在尝试使用一个 JavaScript 函数解析多个 href。当我取消标记警报时,它工作正常。我假设它与时间有关,但我不确定最好的方法。

我已经尝试使用 sleep 命令来添加某种暂停,但没有像我预期的那样工作。

function pName(selectObject) {
    var x = selectObject.value;
    var y = selectObject.value.length;
    if (x === undefined) {
        x = 97;
    }
    str = '1st page here=' + "'" + x + "'";
    //alert(str);
    window.location.href = str;

    if (y == 0) {
        nxt = '2nd page - 1';
    } else {
        nxt = '2nd page - 2';
    }
    //alert(nxt);
    window.location.href = nxt;
}

您似乎在尝试将 window.location.href 设置为先转到 str,然后再转到 nxt。一旦您导航到页面 str,JavaScript 将停止执行,并且您将 无法 随后 触发重定向至 nxt;您不能让一个页面一个接一个地导航到两个不同的页面。

显而易见的解决方案是直接从第 1 页重定向到第 3 页 (nxt),完全忽略/绕过第 2 页 (str)。但是,如果您明确希望用户访问 both 页面,则需要在第 2 页 (str) 本身设置自动重定向 带你去 nxt.

这可以通过简单地在第 2 页 (str) 上设置 window.location.href = nxt 来完成,但请记住,您实际上需要转移设置 nxt 的逻辑计算结果为第 2 页 (str) 而不是在初始第 1 页上。

我能够使用 onInput 和处理第二部分作为它自己的功能来让它工作。

onchange="pName(this);sendnew();return false;" onInput="sData(this);sendnew();return false;"

  function pName(selectObject) {
  var x = selectObject.value;
    if (x === undefined) {
  x = 97;
}
  str = 'Command 1'+ "'" + x + "'" ;
  //alert(str);
  window.location.href = str;
}
function sData (selectObject) {
  var y = selectObject.value.length;    
    if (y == 0) {
    window.location.href = 'Command 2 - B' ;
  } else {
    window.location.href = 'Command 2 - B' ;
    //alert(str);
};
}