所以我使用NodeJs并使用以下函数从服务器请求内容,我想在浏览器中显示。 服务器返回一个完整的html页面。
当我执行以下步骤时,Chrome会跳过调用重定向代码的原始页面。
使用Firefox时不会出现此问题。
我读到这是chrome的一个老问题,但有一些解决方法吗?
代码:
function requestLink(id) {
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://localhost:1234/link", true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onload = function () {
if (this.status == 200) {
// possibility 1:
// document.open();
// document.write(this.response);
// document.close();
// possibility 2:
var win = window.open("", "_self");
win.document.write(this.response);
}
};
xhr.send(JSON.stringify({requested: id}));
}
答案 0 :(得分:0)
我猜这是预期的行为。
要操纵浏览器历史记录,请查看此页面:https://developer.mozilla.org/en-US/docs/Web/API/History_API
var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");
这仅适用于较新的浏览器......