簡體   English   中英

不推薦使用主線程上的Firebase同步XMLHttpRequest

[英]Firebase Synchronous XMLHttpRequest on the main thread is deprecated

我正在使用phonegap / cordova離子應用程序。 我在iOS和Android上測試。

在iOS上運行良好。

但是在Android上,當我的一個視圖加載時,我收到以下消息:

主線程上的同步XMLHttpRequest因其對最終用戶體驗的不利影響而被棄用。 如需更多幫助,請訪問http://xhr.spec.whatwg.org/

每次我收到這個“警告” - 我的觀點都沒有加載。

其中一個.lp?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 in async“false” - 導致這個“警告”。

有沒有辦法可以強制所有Firebase查詢具有異步true。 如果這只是一個“警告”,為什么頁面會失速?

請注意,在iOS和桌面上的Chrome和Safari上 - 一切都按預期工作。

在我的情況下,問題是由於離子服務部署文檔建議的cordova.js注釋。

取消注釋,確保與Firebase的WS連接順暢。 為什么它應該是這樣的超出我 - 但我已經通過反復添加和刪除我的index.html中的包含測試,以在Android / 4.4.4設備上一致地重現效果。

希望這對其他人有所幫助 - 我花了很長時間才發現這一點!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM