![](/img/trans.png)
[英]Meteor project not deploying to android because it can't install a cordova plugin
[英]Can't do ajax calls from android device because cordova-plugin-whitelist is not installed but i can't install it?
我遇到了一個很奇怪的問題,我使用cordova為android構建了一個應用程序,並在其中調用了ajax,它們起作用了,但是由於某種原因,在我的PC上收到BSoD之后,當我再次向該應用程序發布應用程序時,所有ajax調用都停止工作我的Android手機。
我的第一個想法是Visual Studio沒有添加cordova-plugin-whitelist,所以我做了一個新項目並嘗試添加插件以測試這是否是問題,但是現在當我添加插件時,我的構建失敗並且輸出窗口在pastebin上顯示此輸出 (將於2015-09-07到期)
如果未安裝cordova-plugin-whitelist,則ajax調用可在Android模擬器和Ripple上運行
Javascript:
(function () {
"use strict";
document.addEventListener( 'deviceready', onDeviceReady.bind( this ), false );
function onDeviceReady() {
// Handle the Cordova pause and resume events
document.addEventListener( 'pause', onPause.bind( this ), false );
document.addEventListener( 'resume', onResume.bind( this ), false );
$.ajax({
url: 'https://www.path.com/Controller/Action',
async: false,
type: "GET",
dataType: "json",
beforeSend: function () { $.mobile.loading('show'); },
success: function (DataToFillSelect) {
$.each(DataToFillSelect, function (val, item) {
$('#Select').append(
$('<option></option>').val(item.Value).html(item.Text)
);
});
},
error: function () {
},
complete: function () { $.mobile.loading('hide'); },
})
// TODO: Cordova has been loaded. Perform any initialization that requires Cordova here.
};
function onPause() {
// TODO: This application has been suspended. Save application state here.
};
function onResume() {
// TODO: This application has been reactivated. Restore application state here.
};
} )();
它只是空白模板,並帶有onDeviceReady函數添加的ajax調用
如果您還需要我其他什么,請問我會整天待在這里:)感謝您抽出寶貴時間來幫助我解決我的這個問題!
從config.xml和項目中刪除了cordova-plugin-whitelist,並添加了包含以下內容的元標記
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src: 'self' 'unsafe-inline' 'unsafe-eval'">
現在它又可以工作了,我不知道為什么如果有人可以向我解釋它,我會很高興,當然,我仍然很高興它可以工作,但是您知道知道為什么它會更好:)
感謝所有的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.