正常重定向或预加载

时间:2015-06-19 19:01:00

标签: javascript jquery

所以在网上我遇到了几种预加载/重定向网页的方法。

现在的问题是这是处理带预载的重定向的正确方法(在显示当前页面时加载下一页异步)

$.get("page.php", function (data) {
    document.open();
    document.write(data);
    document.close();
    window.history.pushState("Title", "Title", "/page.php");
    $.cache = {};
}, "html");

或者我应该更好地保持定期重定向?

window.location = "page.php";

下一页包含全屏视频和音轨(音频)

感谢。

1 个答案:

答案 0 :(得分:4)

您可以使用Ajax加载下一页异步。 以下是使用GET编写的JavaScript方法的简单Ajax请求示例。

  

AJAX代表异步JavaScript和XML,并且对于XMLHttpRequest对象表现为AJAX,open()方法的async参数必须设置为true:xhr.open('get', 'send-ajax-data.php', true);

得到-Ajax的data.js:

// This is the client-side script.

// Initialize the Ajax request.
var xhr = new XMLHttpRequest();
xhr.open('get', 'send-ajax-data.php', true); // `true` makes the request asynchronous

// Track the state changes of the request.
xhr.onreadystatechange = function () {
    var DONE = 4; // readyState 4 means the request is done.
    var OK = 200; // status 200 is a successful return.
    if (xhr.readyState === DONE) {
        if (xhr.status === OK) {
            alert(xhr.responseText); // 'This is the returned text.'
        } else {
            alert('Error: ' + xhr.status); // An error occurred during the request.
        }
    }
};

// Send the request to send-ajax-data.php
xhr.send(null);

最后,您可以使用以下代码重新加载或重定向页面数据:

document.getElementById("myDiv").innerHTML = xhr.responseText;