使用jQuery或纯 JavaScript 如何将用户从一页转到另一页?


当前回答

以下是一个时间延迟重定向。 您可以将延迟时间设定为任何您想要的时间 :

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Your Document Title</title>
    <script type="text/javascript">
        function delayer(delay) {
            onLoad = setTimeout('window.location.href = "http://www.google.com/"', delay);
        }
    </script>
</head>

<body>
    <script>
        delayer(8000)
    </script>
    <div>You will be redirected in 8 seconds!</div>
</body>

</html>

其他回答

标准“ vanilla” JavaScript 重定向页面的方法

window.location.href = 'newPage.html';

或更简单: (自window全球)

location.href = 'newPage.html';

如果你在这里,因为你损失HTTP_REFERERER 重定向时, 继续读取 :

(否则忽略此最后部分)


下一节针对的是那些使用HTTP_REFERER作为许多安全措施之一的安全措施(尽管这不是一个伟大的保护措施)。因特网探索者 8使用任何形式的 JavaScript 页面重定向( 位置.href 等) 时, 这些变量会丢失 。

我们将在下面实施一个替代方案:IE8 更低这样我们就不会失去 HTTP_REFERER。 否则,你几乎总是可以简单地使用 HTTP_REFERERER。window.location.href.

测试HTTP_REFERER(URL 粘贴、 会话等)能够帮助判断请求是否合法 。(注:正如Droop在评论中指出的,也有一些办法可以对这些裁判员进行变通/补充)


简单的交叉浏览器测试解决方案( 返回窗口. place.href 用于 Internet Explorer 9+ 和所有其他浏览器)

用法 :redirect('anotherpage.aspx');

function redirect (url) {
    var ua        = navigator.userAgent.toLowerCase(),
        isIE      = ua.indexOf('msie') !== -1,
        version   = parseInt(ua.substr(4, 2), 10);

    // Internet Explorer 8 and lower
    if (isIE && version < 9) {
        var link = document.createElement('a');
        link.href = url;
        document.body.appendChild(link);
        link.click();
    }

    // All other browsers can use the standard window.location.href (they don't lose HTTP_REFERER like Internet Explorer 8 & lower does)
    else { 
        window.location.href = url; 
    }
}

# HTML 页面使用 jQuery/JavaScript 方法重定向

尝试此示例代码 :

function YourJavaScriptFunction()
{
    var i = $('#login').val();
    if (i == 'login')
        window.location = "Login.php";
    else
        window.location = "Logout.php";
}

如果您想要给完整 URL 提供完整 URLwindow.location = "www.google.co.in";.

jj 用于重定向页面或 URL 的查询代码

第一路

这是用于重定向页面的 jQuery 代码 。 既然, 我已经把这个代码放在$( document). ready () 函数上, 一旦页面加载, 它将会立即执行 。

var url = "http://stackoverflow.com";
$(location).attr('href',url);

您甚至可以直接将一个 URL 直接传送到attr()方法,而不是使用变量。

第二路

 window.location.href="http://stackoverflow.com";

您也可以使用这样的代码(两者在内部相同):

window.location="http://stackoverflow.com";

如果您对窗口. 位置和window.location.href,然后你可以看到后一个设置href明确表明财产,而前者默示地这样做。window.location返回一个对象,该对象默认设置它.href财产。

第三路

使用 JavaScript (JavaScript)replace()方法方法的计算方法的计算方法window.location对象。您可以将新的 URL 传送到replace()方法, 它将模拟 HTTP 重定向。 顺便说一下, 记住window.location.replace()方法不会在会话历史中放置原始页面, 这可能影响到后按钮的行为。 有时, 它会是你想要的, 所以要小心使用它 。

// Doesn't put originating page in history
window.location.replace("http://stackoverflow.com");

第四路

缩略location.assign()方法在浏览器窗口中装入新文档。

window.location.assign("http://stackoverflow.com"); 

和(或)assign()replace()方法为location.replace()从文档历史中删除当前 URL 的方法,因此无法返回原始文档。您不能使用浏览器。后退按钮。如果您想要避免这种情况,应该使用location.assign()方法,因为它在浏览器中装入一个新的文档。

第五路

类似attr()方法 (在 jQuery 1. 6 引入后)

var url = "http://stackoverflow.com";
$(location).prop('href', url);

  1. 指定位置( ) :

    将一条路径通过一条路径进入它 来指定一条路径...指派即使在指定路径之后, 也会给你们一个历史 。

    用法:数值应传递到它中 。

    例如: location.assign("http://google.com")

    Enter image description here

  2. 位置.href

    定义可以给它一个路径... 并且一旦它建立,它会重新定位到一个指定路径, 它会保存历史...

    用法:值应该被指定到它中 。

    例如: location.href = "http://google.com"

  3. 位置. replace () :

    如果您不想保留历史, 它会帮助您替换一条路径。 一旦您替换了一条路径, 它不会给您一个历史 。

    用法:数值应传递到它中。

    例如: location.replace("http://google.com")

    Enter image description here


assign()href两者相似,可以保留历史。assign通过分配,通过传递一个价值和粗略的作品来工作。

您可以使用 JavaScript 自己实现它, 而不用 jQuery 来指定 :

window.location = "http://google.com"
location.href = "http://google.com"

使用下面的jQuery 也可以实现类似的目标。 它会做与上面完全相同的,

$(window).attr('location', "http://www.google.com");
$(location).attr('href', "http://www.google.com");

你可以很容易地理解 两者之间的区别...

这里是定位对象,

Location API from chrome

jj 查询不需要。 您可以做到这一点 :

window.open("URL","_self","","")

就这么简单!

提出HTTP要求的最佳方法是:document.loacation.href.replace('URL').