更改 HTML 页面的 url 及其内容

Change HTML page's url & its content

我正在尝试在对小部件执行某些操作时更改 html 页面的内容。

代码:

function widget(newURL) {
    var server_url = "127.0.0.1:8000";
    var oldHTML = document.documentElement.innerHTML;

    $.post(server_url + "/convert/",
    { input_html: oldHTML, convert: newURL },
    function(response) {
        var resp = JSON.stringify(response);
        resp = resp.substring(1, resp.length - 1);

        var jObj = JSON.parse(resp);
        var win = window.open(newURL,'_self');
        document.write(jObj.data);
    });        
}

使用此代码,虽然 HTML 内容发生了变化,但 HTML 页面的 URL 没有变化。有人可以建议我如何更改网页 URL 以及内容吗?

更新代码:

function widget(newURL) {
    var server_url = "127.0.0.1:8000";
    var oldHTML = document.documentElement.innerHTML;

    $.post(server_url + "/convert/",
    { input_html: oldHTML, convert: newURL },
    function(response) {
        var resp = JSON.stringify(response);
        resp = resp.substring(1, resp.length - 1);

        var jObj = JSON.parse(resp);
        window.history.pushState({"html":jObj.data},"", newURL);
        document.documentElement.innerHTML = jObj.data;
    });
}

在更新后的代码中,URL 和内容都发生了变化。 谢谢,

尝试 window.history :

window.history.pushState({"html":jObj.data,"pageTitle":'Hello'},"", newURL);      
document.documentElement.innerHTML = jObj.data;

看看this answer

希望这对您有所帮助。