Pourquoi ne Cordova 2.7.0 JS apparemment plus travailler à distance sur des pages?

Fond

Je vais tenter la mise à jour d'une application iOS construit sur Cordova 2.0 à la version 2.7.

C'est essentiellement un écran de bienvenue que les points à distance à un moteur de recherche (veuillez retenir des commentaires sur l'app validité et susceptibles d'approbation, tant que nous sommes passé), et nous avons été à l'aide de la ChildBrowser plugin pour permettre l'ouverture des liens dans un sous navigateur de manière à ne pas bloquer l'utilisateur dans le Cordova webview.

Cordova 2.7 a une fonctionnalité appelée InAppBrowser je suis l'espoir de l'utiliser à la place de ChildBrowser. InAppBrowser fait essentiellement la même chose, à part de passer à côté d'un bouton pour ouvrir dans Safari.

Problème

L'application existante à distance de pages web comprennent les Cordova JS (ainsi que pour le ChildBrowser plugin) et il fonctionne très bien pour l'ouverture des liens dans la sous navigateur.

Mon test de Cordova 2.7 application ne semble pas charger le Cordova JS correctement quand il est chargé à partir d'une page web distante.

J'ai essayé d'utiliser exactement le même code HTML sur l'embedded page de démarrage et de démarrage à distance à la page:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <script type="text/javascript" src="http://mydomain.com/mobile/cordova-2.7.0.js"></script>
  </head>
  <body>
    <script>
      document.addEventListener("deviceready", onDeviceReady, false);
      function onDeviceReady() {
        alert("Ready!!");
      }
    </script>
  </body>
</html>

Pour tester ce que l'embedded page de démarrage, j'ai mis cette ligne dans config.xml:

<content src="index.html" />

Quand je lance l'application, j'ai rapidement obtenir le "Prêt!" alerte.

Pour tester ce que le démarrage à distance de la page (je vise à lien de la télécommande à la page de l'appli finale, je suis en train de l'utiliser comme page de démarrage pour les tests. Le résultat est le même si j'ai le lien de la page intégrée.), J'ai mis cette ligne dans config.xml:

<content src="http://mydomain.com/mobile/index.php" />

Quand je lance l'application, je viens d'obtenir le vide de l'écran et aucune alerte.

En outre, dans cordova-2.7.0.js L. 6255, j'ai changé

console.log('deviceready has not fired after 5 seconds.');

à

alert('deviceready has not fired after 5 seconds.');

Avec cette modification, l'exécution de l'application à l'aide de la télécommande page de démarrage les causes de la page blanche, puis au bout de cinq secondes, je reçois l'alerte "deviceready a pas viré au bout de 5 secondes.". Donc, cela me dit Cordova JS ne démarre pas correctement. Inutile de dire, je ne peux pas obtenir InAppBrowser de lancer des liens dans la sous navigateur sur le site distant, mais je peux le faire fonctionner très bien intégré à la page de démarrage.

N'importe qui ont des idées de l'endroit où aller à partir d'ici? C'est un joli exemple simpliste, donc je suppose que c'est un Cordova problème de paramètres ou d'une modification de la fonctionnalité. J'apprécie toutes les pensées, merci!

  • Je viens de tester avec Cordova 2.6, et cette configuration exacte avec 2,6 fonctionne très bien. Le Cordova JS fonctionne sur la télécommande pages. Si quelque chose a changé dans 2,7 à briser ce.
  • Cela semble lié, mais avec la version précédente, donc c'est un peu étrange: issues.apache.org/jira/browse/CB-3029