我正在尝试在对窗口小部件执行某些操作时更改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不会更改。有人可以建议我如何更改网页网址和内容?
更新代码:
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会更改以及内容。 谢谢,
答案 0 :(得分:1)
window.history.pushState({"html":jObj.data,"pageTitle":'Hello'},"", newURL);
document.documentElement.innerHTML = jObj.data;
看看this answer。
希望这会有所帮助。