javascript - 更改 HTML 页面的 url 及其内容

标签 javascript html json dom-events

当对小部件执行某些操作时,我试图更改 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 .

希望这有帮助。

关于javascript - 更改 HTML 页面的 url 及其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35060520/

相关文章:

javascript - AngularJS - Bootstrap 应用程序意味着什么?

javascript - 在 Bokeh 交互式线图中从 ColumnDataSource 选择行

Javascript - setInterval() 在调用clearInterval()后仍在运行

android - 如何创建具有动态 key 的 pojoclass

python - key 可能不存在的 JMESPath 路径

Json 架构 - oneOf 字段需要是必需的

javascript - ng-disabled 列表项中的 href 标签不起作用

javascript - 如何让 cordova 使用 yarn js 而不是 npm 来添加插件

html - 如何让我的 div 高度与动态图像高度相匹配?

html - 将 flex 元素固定到容器底部