Синхронный XMLHttpRequest Firebase в основном потоке устарел
Я работаю над приложением phonegap / cordova ionic. Я тестирую на iOS и Android.
на iOS все работает хорошо.
однако на Android я получаю следующее сообщение при загрузке одного из моих представлений:
синхронный XMLHttpRequest в основном потоке устарел из-за его пагубное воздействие на опыт конечного пользователя. Для получения дополнительной помощи, проверить http://xhr.spec.whatwg.org/.
каждый раз, когда я получаю это "предупреждение" - мой вид не загружается.
одним из .ЛП?dframe=t & id=...&pw=... запросы, которые относятся к/от firebase, имеют следующее:
<html><body><script>
function EnvSendPing(destURL) {
try{
var xhr=new XMLHttpRequest();
xhr.open("GET", destURL, false);
xhr.send(null);
} catch (e) { }
}
function EnvDisconnect() {
EnvSendPing("/.lp?disconn=t&id=294802&pw=LL8E8eo2Rz");
}
if(window.addEventListener)
window.addEventListener('unload',EnvDisconnect,false);
else if(window.attachEvent)
window.attachEvent('onunload',EnvDisconnect);
</script></body></html>
который явно имеет xhr в async "false" - вызывая это"предупреждение".
есть ли способ, которым я могу заставить все запросы Firebase иметь async true. Если это просто "предупреждение", почему страница должна останавливаться?
обратите внимание, что на iOS и Chrome и Safari на рабочем столе-все работает как ожидаемый.
1 ответов
в моем случае проблема была связана с комментариями из Кордовы.js в соответствии с документацией Ionic-service-deploy.
Раскомментировав это, обеспечивает плавное подключение WS к Firebase. Почему это должно быть так, вне меня - но я проверил, неоднократно добавляя и удаляя include в моем индексе.html, чтобы эффект последовательно воспроизводился на устройстве Android/4.4.4.
надеюсь, это поможет другим - я потратил много времени, выясняя это!