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 * 1.0b1 * с JQuery версии 1.6.1 (я также пробовал с JQM версии 1.0a2 с 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);             
}       

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

23
задан Waynn Lue 7 March 2012 в 11:59
поделиться

2 ответа

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

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

super.setIntegerProperty("loadUrlTimeoutValue", 60000); 

Ссылки:

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

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

25
ответ дан 29 November 2019 в 02:48
поделиться

Приведенное выше решение предназначено для кода на основе 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)
0
ответ дан 29 November 2019 в 02:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: