我有以下问题,我对Phonegap有点新鲜!在我的索引页面上,我有三个函数将创建一个Javascript提示符,询问用户他们的姓名,电子邮件和标题(位置),并将每个函数存储到localStorage。像这样的三个项目:
function promptName(){
var salesPName = prompt("Bitte geben Sie Ihren Namen","");
if(salesPName == null || salesPName == ""){
promptName()
}else{
localStorage.setItem("salesP", salesPName);
}
}
然后使用$(document).ready
我称这三个函数为:
$(document).ready(function(){
if(!localStorage.getItem("salesP")){
promptName();
promptEmail();
promptPosition();
}
});
这一切都运行良好,但是当部署到我的Android设备时,我得到了提示,但在我完成所有三个之前,我得到一个错误对话框,说明:
与服务器的连接失败(file:///android_asset/www/appname/index.html)
删除提示会删除错误,但我需要此功能。我尝试了不同的方法来调用这些函数,例如在body
标记的onload
事件或使用.load()
。我仍然得到这个错误。我考虑设置一个Javascript间隔在几秒钟后(一旦加载页面)调用它,因为我确定问题是由于Javascript的阻塞性质。有没有人遇到过这个?
请注意,我将以下内容添加到com.mypackage.xxx.java
文件中(根据phonegap, connection to server unsuccessful建议)
super.setIntegerProperty("loadUrlTimeoutValue", 10000);
我仍然遇到问题!
答案 0 :(得分:3)
没有任何工作我把setTimeout()
放在我的身边就像这样......
$(document).ready(function(){
setTimeout(function (){if(!localStorage.getItem("salesP")){
// item doesn't exist... so let's raise some dialogs to capture the name, email address and title
promptName();
promptEmail();
promptPosition();
}
}, 5000)
});
现在它工作正常...有点软糖但是那么,如果有人对更好的解决方案有任何想法或对此有任何异议请告诉我