Подтвердить что ты не робот

JQuery Mobile + PhoneGap для Android - Ошибка загрузки index.html

Я пытаюсь получить базовую программу PhoneGap + JQuery Mobile для платформы Android 2.2, но я получаю сообщение об ошибке "Соединение с сервером не увенчалось успехом (файл:///android_asset/www/index.html)" в эмуляторе Android, когда я пытаюсь запустить приложение на платформе Android Emulator 2.2 на Windows XP, с Eclipse 3.7.

Загрузка файла, если я удалю все ссылки и синтаксис JQuery Mobile из файла HTML, поэтому я уверен, что мой проект в порядке, но что-то мне не хватает при инициализации JQuery Mobile. Я использую PhoneGap 0.9.6 с JQuery Mobile version * 1.0b1 * с JQuery версии 1.6.1 (я также пытался использовать JQM Version 1.0 a2 с JQuery 1.4.4, но с той же ошибкой).

Если я удалю все ссылки на JQuery Mobile из моего HTML файла, я смогу загрузить программу в эмулятор без ошибок.

Я просмотрел несколько примеров в Интернете и попробовал их так, как они есть, но все они показывают ту же ошибку. Мои файлы:

<!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);             
}       

Что мне не хватает?

4b9b3361

Ответ 1

Проблема, вероятно, связана со скоростью эмулятора, поэтому сеть слишком медленно завершает коммуникацию своевременно.

Установите 60-секундный тайм-аут в PhoneGap, добавив следующее свойство в src/com/phonegap/xxx.java:

super.setIntegerProperty("loadUrlTimeoutValue", 60000); 

Литература:

phonegap 0.9.3 onReceivedError: Код ошибки = -6 Описание = Соединение с сервером не увенчалось успехом

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

Ответ 2

Вышеупомянутое решение предназначено для Java-кода. Однако OP для javascript/jquery и телефонной связи. Следующее помогло мне решить проблему.

В config.xml добавьте:

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

Проблема REAL заключается в том, что PhoneGap имеет начальный период загрузки страницы в 20 секунд. Если ваша страница занимает больше времени, вы получите это сообщение.

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