JQuery Mobile + PhoneGap для Android - Ошибка загрузки index.html - PullRequest
23 голосов
/ 01 июля 2011

Я пытаюсь получить базовую PhoneGap + JQuery Mobile программу, работающую для Платформа Android 2.2 , но я получаю сообщение об ошибке приложения "Соединение с сервером было неудачным (файл: ///android_asset/www/index.html) "в эмуляторе Android, когда я пытаюсь запустить приложение на платформе эмулятора Android 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);             
}       

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

Ответы [ 2 ]

24 голосов
/ 11 августа 2011

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

Установите 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

0 голосов
/ 30 декабря 2013

Приведенное выше решение предназначено для кода на основе 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...