Javascript 更改HTML页面';s网址&;其内容

Javascript 更改HTML页面';s网址&;其内容,javascript,html,json,dom-events,Javascript,Html,Json,Dom Events,我试图在小部件上执行某些操作时更改html页面的内容 代码: 使用此代码,虽然HTML内容会发生更改,但HTML页面的URL不会更改。有人可以建议我如何更改网页URL以及内容吗 更新代码: function widget(newURL) { var server_url = "127.0.0.1:8000"; var oldHTML = document.documentElement.innerHTML; $.post(server_url + "/convert/"

我试图在小部件上执行某些操作时更改html页面的内容

代码:

使用此代码,虽然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.pushState({“html”:jObj.data,“pageTitle”:“Hello'},”,newURL);document.documentElement.innerHTML=jObj.data;谢谢我试过这个代码。这将更改页面的URL和内容。但是如果我刷新页面,内容将变为空白(尽管URL仍然是新的)。有没有一种方法可以在刷新页面时保留原始内容?不客气,很高兴我能提供帮助,我认为这是不可能的,因为您可以动态获取内容,并且内容与页面没有直接关系。但是应该有某种方法来进行此更改。例如:如果小部件用于语言翻译。并且widget语言也发生了变化。然后在第一次时,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;
    });
}
window.history.pushState({"html":jObj.data,"pageTitle":'Hello'},"", newURL);      
document.documentElement.innerHTML = jObj.data;