我有一个功能来检查结果是否在服务器上。
var d = document;
var dl = d.location;
var w = window;
var wt = w.setTimeout;
var X = XMLHttpRequest;
function _checkreload() {
var x = new X();
x.open('GET', '?test=results');
x.onreadystatechange = function (c) {
if (x.readyState === 4) {
if (x.status == 205) {
dl.reload(true);
} else {
wt(_checkreload, 200);
}
}
};
x.send();
};
_checkreload();
有时由于未知原因取消重新加载:
问题
如何找出重新加载被取消的原因?
请求的详细信息
由于请求被取消,因此详细信息 Pane 中没有任何信息。即使一些字节已经发送到服务器(或者甚至从服务器响应回浏览器),chrome 也不会显示它们。
最佳答案
尝试在 _checkReload
函数中添加一个 try {} catch
。如果是在 JS 端,这将帮助您了解错误是什么。
var d = document;
var dl = d.location;
var w = window;
var wt = w.setTimeout;
var X = XMLHttpRequest;
function _checkreload() {
try { // Add a try here...
var x = new X();
x.open('GET', '?test=results');
x.onreadystatechange = function (c) {
if (x.readyState === 4) {
if (x.status == 205) {
dl.reload(true);
} else {
wt(_checkreload, 200);
}
}
};
x.send();
} catch (err) { console.log(err); } // ... and a catch there.
};
_checkreload();
当您的函数重新加载 HTML 页面时,我建议您使用 enable the Preserve log feature在 chrome 开发者工具上。这在调试时会有很大帮助。
最后但同样重要的是,请注意,如果您从本地主机运行此代码,您可能会遇到 CORS错误。
关于javascript - document.location.reload(true) 在 chrome 中取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53903821/