[英]PhoneGap Device ready not firing in ios but working fine in android emulator and ripple
大家好,我在iOS上啟動設備就緒時遇到問題,但是代碼只能在adnroid模擬器上找到,並且還會產生漣漪,我不知道這可能是問題所在。 我沒有在readl的Android設備上嘗試過它,但是模擬器運行良好,但是我在iPhone 5上嘗試了它,但從未將設備准備就緒。
var deviceReadyDeferred = $.Deferred();
var jqmReadyDeferred = $.Deferred();
document.addEventListener("deviceReady", deviceReady, false);
document.addEventListener("resume", deviceResume, false);
function deviceResume() {
doWhenBothFrameworksLoaded();
}
function deviceReady() {
deviceReadyDeferred.resolve();
}
$(document).one("mobileinit", function() {
jqmReadyDeferred.resolve();
});
$.when(deviceReadyDeferred, jqmReadyDeferred).then(
doWhenBothFrameworksLoaded);
function doWhenBothFrameworksLoaded() {
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
if (networkState == Connection.NONE)
alert('You have to be connected to the internet in order to use this app.');
else {
setTimeout(function(){
$.mobile.changePage("deals.html", {
transition : "pop",
reverse : false,
changeHash : false
});
},1000);
}
}
<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>PhoneGap</title>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script type="text/javascript" charset="utf-8" src="cordova-2.6.0.js"></script>
<script type="text/javascript" charset="utf-8" src="PushNotification.js"></script>
<script type="text/javascript" charset="utf-8" src="js/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8" src="controller/index.js"></script>
<script type="text/javascript" charset="utf-8" src="js/jqueryMobile.js"></script>
<script type="text/javascript" charset="utf-8" src="js/handlebars.js"></script>
<script type="text/javascript" charset="utf-8" src="js/handleHelpers.js"></script>
<script type="text/javascript" charset="utf-8" src="js/jquery.timeago.js"></script>
<link rel="stylesheet" href="css/jqm.css" charset="utf-8" />
<link rel="stylesheet" href="css/style.css" charset="utf-8" />
</head>
<body>
<div class="container splash" data-role="page" id="index">
<img src="img/logo.png" />
</div>
</body>
</html>
為了將phonegap與jquery mobile一起使用,您需要像這樣使用它,
$(document).one("mobileinit", function() {
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
jqmReadyDeferred.resolve();
});
原來,我不得不從目錄中刪除cordova js文件,並在config.xml上指定該文件以進行phonegap構建。 謝謝大家
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.