Javascript 主线程上的Firebase同步XMLHttpRequest已弃用

Javascript 主线程上的Firebase同步XMLHttpRequest已弃用,javascript,android,cordova,firebase,Javascript,Android,Cordova,Firebase,我正在开发phonegap/cordova ionic应用程序。我正在iOS和Android上测试 在iOS上,一切都很好 然而,在Android上,当加载我的一个视图时,我会收到以下消息: 主线程上的同步XMLHttpRequest已被弃用,因为 它会对最终用户的体验产生不利影响。要获得更多帮助, 检查 每次我收到这个“警告”-我的视图不会加载 其中一个.lp?dframe=t&id=…&pw=。。。发送到firebase或从firebase发出的查询具有以下内容: <html>&

我正在开发phonegap/cordova ionic应用程序。我正在iOS和Android上测试

在iOS上,一切都很好

然而,在Android上,当加载我的一个视图时,我会收到以下消息:

主线程上的同步XMLHttpRequest已被弃用,因为 它会对最终用户的体验产生不利影响。要获得更多帮助, 检查

每次我收到这个“警告”-我的视图不会加载

其中一个.lp?dframe=t&id=…&pw=。。。发送到firebase或从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>

函数EnvSendPing(destURL){
试一试{
var xhr=new XMLHttpRequest();
xhr.open(“GET”,destURL,false);
xhr.send(空);
}捕获(e){}
}
函数{
环境发送(“/.lp?DISCON=t&id=294802&pw=LL8E8eo2Rz”);
}
if(window.addEventListener)
addEventListener('unload',EnvDisconnect,false);
else if(窗口附件)
window.attachEvent('onunload',EnvDisconnect);
很明显,xhr是异步的“false”-导致了这个“警告”

是否有一种方法可以强制所有Firebase查询具有async true。 如果这只是一个“警告”,为什么页面会暂停


请注意,在iOS和桌面上的Chrome和Safari上,所有操作都按预期进行。

在我的案例中,问题是由于根据ionic service deploy文档的建议对cordova.js进行了注释

取消注释,确保与Firebase的平滑WS连接。我无法理解为什么会这样——但我已经通过反复添加和删除index.html中的include进行了测试,以便在Android/4.4.4设备上一致地再现这种效果


希望这对其他人有帮助-我花了很多时间才发现这一点

该警告可能与未加载的页面无关。谢谢@Kato-当我发现它们时,我会发布更多细节。同意,现在看起来很像XY;-)我的意思是,再想想,也许这个警告是相关的。它可能会“对最终用户体验产生不利影响”:)但我们在其他应用程序或客户端中没有看到这种情况。您是否使用最新版本的SDK?我在chrome中有一个几乎为空的ionic项目,当我调用var ref=new Firebase(“)时,会出现此错误;在控制器中。我安装了bower install firebase.firebase.SDK_VERSION='2.2.7';这里有相同的警告……因此,我的问题是在web排序器中运行FB,您能更具体地说明您取消注释和/或注释掉了哪行代码吗?//注释掉这行代码以便部署工作,但XHTTP问题将显示出来在安卓4.4上升级