Dlaczego Cordova 2.7.0 JS nie działa już na zdalnych stronach?

tło

Próbuję uaktualnić wbudowaną aplikację iOSKordowa 2.0 do wersji 2.7.

Zasadniczo jest to ekran powitalny wskazujący na zdalną wyszukiwarkę (proszę wstrzymać komentarze dotyczące ważności aplikacji i prawdopodobnego zatwierdzenia, ponieważ już minęliśmy), a my korzystaliśmy zChildBrowser wtyczka umożliwiająca otwieranie łączy w przeglądarce podrzędnej, aby nie uwięzić użytkownika w widoku sieciowym Cordova.

Cordova 2.7 ma funkcję o nazwieInAppBrowser Mam nadzieję użyć zamiast ChildBrowser. InAppBrowser robi zasadniczo to samo, poza brakiem przycisku do otwierania w Safari.

Problem

Istniejące zdalne strony internetowe aplikacji obejmują Cordova JS (jak również wtyczkę ChildBrowser) i działa dobrze przy otwieraniu linków w podrzędnej przeglądarce.

Moja aplikacja testowa Cordova 2.7 nie ładuje prawidłowo Cordova JS, gdy jest ładowana ze zdalnej strony internetowej.

Próbowałem użyć tego samego HTML na wbudowanej stronie początkowej i zdalnej stronie początkowej:

<!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>

Aby przetestować to jako osadzoną stronę startową, umieściłem tę linię wconfig.xml:

<content src="index.html" />

Po uruchomieniu aplikacji natychmiast otrzymuję komunikat „Gotowy!” alarm.

Aby przetestować to jako zdalną stronę startową (zamierzampołączyć na zdalnej stronie w końcowej aplikacji używam go tylko jako strony startowej do testowania. Wynik jest taki sam, jeśli link z osadzonej strony.), Umieściłem ten wierszconfig.xml:

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

Po uruchomieniu aplikacji otrzymuję pusty ekran i brak alarmu.

Dalej, wcordova-2.7.0.js L. 6255, zmieniłem się

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

do

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

Dzięki tej zmianie uruchomienie aplikacji za pomocą strony startowej powoduje wyświetlenie pustej strony, a po pięciu sekundach otrzymuję alert „urządzenie nie uruchomiło się po 5 sekundach”. To mówi mi, że Cordova JS nie uruchamia się poprawnie. Nie trzeba dodawać, że nie mogę uzyskać InAppBrowser do uruchamiania linków w podrzędnej przeglądarce na zdalnej stronie, ale mogę sprawić, że będzie działać poprawnie na wbudowanej stronie startowej.

Czy ktoś ma jakieś pomysły, dokąd się udać? Jest to dość prosty przykład, więc zakładam, że jest to problem z ustawieniami Cordova lub zmiana funkcjonalności. Doceniam wszelkie myśli, dzięki!

questionAnswers(6)

yourAnswerToTheQuestion