适用于Android的JQuery Mobile + PhoneGap - 加载index.html时出错

时间:2011-07-01 07:25:29

标签: javascript jquery android mobile cordova

我正在尝试为 Android平台2.2 运行一个基本的 PhoneGap + JQuery Mobile 程序,但我收到应用程序错误“与服务器的连接失败(文件:///android_asset/www/index.html)“在Android模拟器中”当我尝试在 Windows XP 上运行Android Emulator平台2.2中的应用程序时, Eclipse 3.7

如果从HTML文件中删除JQuery Mobile的所有引用和语法,文件会加载,所以我确信我的项目很好但是JQuery Mobile初始化时我缺少了一些东西。我使用 PhoneGap 0.9.6 JQuery Mobile版本* 1.0b1 * JQuery版本1.6.1 (我也尝试使用JQM版本1.0a2和JQuery 1.4.4,但有相同的错误。)

如果我从HTML文件中删除对JQuery Mobile的所有引用,那么我可以在模拟器中加载程序而不会出现错误。

我在网上查看了几个示例,并按原样尝试了它们,但所有这些示例都显示了相同的错误。我的文件是:

<!DOCTYPE HTML>
<html>
  <head>
    <meta name="viewport" content="width=320; user-scalable=no" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>PhoneGap With JQM</title>
      <link rel="stylesheet" href="jquery.mobile-1.0b1.min.css" type="text/css" charset="utf-8" />
        <script src="jquery-1.6.1.min.js"></script>
          <script type="text/javascript" charset="utf-8" src="phonegap.0.9.6.js"></script>
          <script type="text/javascript" charset="utf-8" src="main.js"></script>  
          <script src="jquery.mobile-1.0b1.min.js"></script>

  </head>
  <body onload="init();">
    <div data-role="page" data-theme="e">
        <div data-role="header">
            <h1>PhoneGap with JQM</h1> 
        </div>
        <div data-role="content">
            <h1>My Content</h1>  
        </div>
        <div data-role="footer">
            <h1>My Footer</h1>  
        </div>
  </body>
</html>

main.js文件只有:

function init()
{   
    document.addEventListener("deviceready", deviceInfo, true);             
}       

我错过了什么?

2 个答案:

答案 0 :(得分:24)

问题可能是由于模拟器的速度很快,因此网络太慢,无法及时完成通信。

通过将以下属性添加到src/com/phonegap/xxx.java

,在PhoneGap中设置60秒超时
super.setIntegerProperty("loadUrlTimeoutValue", 60000); 

<强>参考文献:

phonegap 0.9.3 onReceivedError: Error code=-6 Description=The connection to the server was unsuccessful

http://The%20connection%20To%20The%20Server%20Was%20Unsuccessful%20-%20Android%202.2,%20jquerymobile,%200.9.5.1

答案 1 :(得分:0)

以上解决方案适用于基于java的代码。但OP适用于 javascript / jquery phonegap 。以下内容帮助我解决了这个问题。

config.xml 中,添加:

<preference name="splash-screen-duration" value="25000" /> 
<!-- Increase the value until the error is solved-->

这里的真正问题是PhoneGap的初始页面加载超时为20秒。如果您的页面花费的时间超过了大部分时间,您将收到此消息。

Application Error - The connection to the server was unsuccessful.   
(file:///android_asset/www/index.html)