【问题标题】:Phonegap App Error - connection to the server was unsuccessfulPhonegap 应用程序错误 - 连接到服务器不成功
【发布时间】:2012-08-14 08:18:50
【问题描述】:

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

我仍然遇到问题!

【问题讨论】:

    标签: javascript jquery cordova


    【解决方案1】:

    没有任何工作,我在我的情况周围放了一个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)
    
    });
    

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

    【讨论】:

    最近更新 更多