這只是突然開始發生:我的老闆帶着她的手機應用程序的開發副本短途出差,並報告這個錯誤這次旅行還有幾天。我認爲我已經對從服務器返回的json做了一些修改,但是現在我又恢復了它,這似乎與我在服務器上的工作無關。PhoneGap/Cordova:罰款模擬器,突然沒有在設備上工作:找不到jQuery
以下是錯誤消息我在控制檯中看到:
Error in success callback: Geolocation3 = ReferenceError: Can't find variable: jQuery
或
Error in success callback: Geolocation3 = ReferenceError: Can't find variable: $
所以很明顯,它只是無法找到jQuery的。它執行'deviceReady'就好了。但它在模擬器中正常工作。我正在爲jQM和jQ使用jQuery CDN,並且可以通過瀏覽器訪問這兩者。
那麼是什麼給?爲什麼它突然無法找到jQuery - 並且只能在設備上?
我在網上看到很多類似的問題,但沒有一個有明確的答案。有些是「乾淨和重建」別人是簡單的錯別字....但沒有這個。這不是位置權限問題。這不是連接問題。這不是網址白名單問題。
您一如既往的幫助表示讚賞。謝謝!
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<title>XXXXXX</title>
<link rel="stylesheet" href="css/jquery.mobile.css" />
<link rel="stylesheet" href="css/themes/app-2012-11-30.css" />
<link rel="stylesheet" type="text/css" href="spec/lib/photoswipe/photoswipe.css" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<!-- cordova -->
<script src="cordova-2.1.0.js" type="text/javascript"></script>
<!-- jquery -->
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<!-- Google -->
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
<!-- Add ons -->
<script src="spec/lib/photoswipe/lib/klass.min.js"></script>
<script src="spec/lib/photoswipe/code.photoswipe.jquery-3.0.5.js"></script>
<!-- Objects -->
<script src="js/map.js" type="text/javascript"></script>
<script src="js/prefs.js" type="text/javascript"></script>
<script src="js/search.js" type="text/javascript"></script>
<script src="js/storage.js" type="text/javascript"></script>
<script src="js/helpers.js" type="text/javascript"></script>
<script src="js/player.js" type="text/javascript"></script>
<script src="js/record.js" type="text/javascript"></script>
<script src="js/connection.js" type="text/javascript"></script>
<script src="js/location.js" type="text/javascript"></script>
<script src="js/header-footer.js" type="text/javascript"></script>
<script src="js/featured.js" type="text/javascript"></script>
<script src="js/list.js" type="text/javascript"></script>
<script src="js/index.js" type="text/javascript"></script>
<script type="text/javascript">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady(){
console.log('device ready');
storageSetUp();
checkConnection();
getLocation();
showFeatured();
getSetUp();
clUpdate();
$(document).bind('mobileinit', function(){
$.mobile.defaultPageTransition = "none";
$.mobile.loader.prototype.options.textVisible=false;
$.mobile.loader.prototype.options.html = '<div class="loading"></div>';
$.mobile.pushStateEnabled = false;
});
$(document).bind('pagebeforeshow',function(){
setHeaderFooterInfo();
});
}
</script>
的getLocation是.js文件:
,因爲我可以在下面我給儘可能多的代碼。你會在那裏看到函數getStreetAddress,它包含一個ajax調用($ .ajax或jQuery.ajax),這是它發生錯誤的地方。
function getLocation()
{
gLAttempt++;
navigator.geolocation.getCurrentPosition(onLocationSuccess, onLocationError);
}
// onSuccess Geolocation
function onLocationSuccess(position)
{
var lat = position.coords.latitude;
var lng = position.coords.longitude;
Storage.location.lat = parseFloat(lat.toFixed(6));
Storage.location.lng = parseFloat(lng.toFixed(6));
Storage.location.coords = lat.toFixed(6) + ',' + lng.toFixed(6);
if(ajax_rg == null){
getStreetAddress(Storage.location.coords);
}
}
就是這樣。非常感謝你,我真的把頭撞在那個牆上。我不明白如何突然下載比以前更長的時間。但是你現在有了。謝謝! – dgig 2013-04-09 14:29:44
噢,「就是這樣」我的意思是在本地保留這些文件,而不是試圖通過CDN下載它們。再次感謝。 – dgig 2013-04-24 19:28:43