更改 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。
希望这对您有所帮助。
我正在尝试在对小部件执行某些操作时更改 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。
希望这对您有所帮助。