首页 > 解决方案 > 如何在一个 javascript 函数中调用多个 window.location.href?

问题描述

我正在尝试使用一个 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;
}

标签: javascriptwindow.location

解决方案


似乎您正试图设置window.location.hrefstr先,然后是nxt. 一旦您导航到 page str,JavaScript 将停止执行,您将无法随后触发重定向到nxt; 您不能让一个页面一个接一个地导航到两个不同的页面。

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

这可以通过window.location.href = nxt在第 2页(strnxtstr


推荐阅读