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