Phonegap App Error - 与服务器的连接失败

时间:2012-08-14 08:18:50

标签: javascript jquery cordova

我有以下问题,我对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); 

我仍然遇到问题!

1 个答案:

答案 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)

});

现在它工作正常...有点软糖但是那么,如果有人对更好的解决方案有任何想法或对此有任何异议请告诉我