環境:科爾多瓦2.9.0,iOS(Xcode 4.6.3 iPad 6.1模擬器和運行iOS 6.1.3的iPad 3)PhoneGap/Cordova的網絡工作者是否允許XHR?
我想分離出加載另一個文件到網絡工作者的處理。我正在加載的文件是應用程序的一部分(意味着它在同一個域中)。
下面的代碼工作正常時,在一個網絡工作者不運行:( URL的形式 「/db/file.json」 的)
function loadXMLDoc(url, successCallback) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && (xmlhttp.status==200 || xmlhttp.status == 0)) {
successCallback(xmlhttp.responseText);
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
注:狀態始終爲0當使用科爾多瓦。 狀態在不使用科爾多瓦時爲200。
當我將這段代碼分離成一個網絡工作者時,responseText回到空。
我刪除了phoneGap,並驗證了上面的代碼與沒有網絡工作者一起工作。
是否可以在phoneGap/cordova內的網絡工作者中使用XHR?
我看到'file:'XHR請求工作併發布了一個反映這一點的答案......值得注意的是,我發佈了答案並建議使用xhr作爲本地文件,因爲Filesystem APIs(cordova-plugin-file)在工作人員中不可用,這是我找到的唯一解決方法。 – jimmont