XHR ontimeout仅在新的ipads上触发

时间:2016-11-16 20:37:13

标签: javascript ipad safari xmlhttprequest

我有一个在ipads上工作多年的内部网站点。它使用XHR为用户轮询和实时更新站点。最近买了新的ipad air 2s并且该网站已不再运行。在较旧的ipads和我的桌面浏览器上它工作正常,但在新的ipads上它随机调用xhr.ontimeout。控制台调试显示两者之间的结果差异很大。在旧的ipads和桌面上,控制台调试是按预期进行的,一切都按顺序进行,然后我看看ipad播放的那个,我不知道他们到底发生了什么。 ipad播出更新到最新的iOS版本。

此外,视口user-scalable = no适用于旧的ipads,但在新的ipad播放时,此命令完全被忽略,我无法做任何事情来禁用双触摸缩放。

以下是一些代码:

var XHRrequest = new XMLHttpRequest();
var XHRresponse;
XHRrequest.onloadend = function (evt) {
  if (XHRresponse=="end") {
   console.log("end request");
  }
  else {
    XHRrequest.open("POST", url, true);
    XHRrequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XHRrequest.send(formData);
  }
 };
XHRrequest.onreadystatechange = function() {
 if (XHRrequest.readyState == 4 && XHRrequest.status == 200) {
  XHRresponse = XHRrequest.responseText
 }
};
XHRrequest.ontimeout = function() {
  console.log("Error: event timed out");
 };
XHRrequest.open("POST", url, true);
XHRrequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
XHRrequest.send(formData);

0 个答案:

没有答案