我正在使用我的私人手机差距项目。我想启动应用程序,然后调用一个外部网站,里面塞满了jquerymobile的东西。应用程序中的第一个脚本是一个脚本,应该等到设备就绪并联机。然后调用外部链接。但它不起作用。不幸的是我不明白为什么不...这里是(只有被称为js脚本): (在我加载jquery和jquerymobile的网站上,没有问题)。
var lat = "";
var lng = "";
var dat = "";
devReady = false;
devOnline = false;
$(function(){
document.addEventListener("deviceready", onDeviceReady, false);
document.addEventListener("online", onOnline, false);
})
function onDeviceReady() {
devReady = true;
callExtPage();
}
function onOnline() {
devOnline = true;
callExtPage();
}
function callExtPage() {
// calls the external Page when device is ready (parameters set) and online
if(devOnline == true && devReady == true) {
navigator.geolocation.getCurrentPosition(function() {
lat = position.coords.latitude;
lng = position.coords.longitude;
dat = currentDate();
}, false);
// load an external page ($.mobile.changePage does only call as ajax)
window.location.href="http://www.mydomain.com/mobiles?lat="+lat+"&lng="+lng+"&dat="+dat;
}
}
function currentDate() {
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months are zero based
var curr_year = d.getFullYear();
if(curr_date < 10) {curr_date = "0"+curr_date}
if(curr_month < 10) {curr_month = "0"+curr_month}
var currDate = curr_year+"-"+curr_month+"-"+curr_date;
return currDate;
}
感谢您提供任何帮助或捷径。
答案 0 :(得分:0)
将调用移至deviceready行作为yours部分中的第一个语句。您的当前代码,deviceready事件连接根本不会被调用。
<script>
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
devReady = true;
callExtPage();
}
</script>