2016-06-30 15 views
1

Angularを使用してHTML/JS iOSアプリケーションを構築しましたが、これはデスクトップブラウザで完全に機能しますが、PhoneGapプロジェクトとしてまとめてデバイスで実行しようとすると、 空白画面にフェードアウトするスプラッシュ画面。私はおそらくルーティングと同様の問題を探していたのだろうか?私はそれを理解できません。誰でも助けることができますか?あなたはあなたのJavaScriptを実行する前に、devicereadyイベントを待つ必要がありますPhoneGap Angular iOS Appで白い画面のみを表示

HTML

<html> 
<head> 

    <meta name="format-detection" content="telephone=no"> 
    <meta name="msapplication-tap-highlight" content="no"> 
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> 
    <meta name="apple-mobile-web-app-capable" content="yes" /> 
    <meta name="apple-mobile-web-app-status-bar-style" content="black" /> 

    <link rel="stylesheet" type="text/css" href="css/index.css"> 
    <link rel="stylesheet" type="text/css" href="css/nav.css"> 
    <link rel="stylesheet" type="text/css" href="css/bootstrap-grid-12.css"> 
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css"> 

    <script type="text/javascript" src="scripts/app.js"></script> 
    <script type="text/javascript" src="cordova.js"></script> 
    <script type="text/javascript" src="scripts/platformOverrides.js"></script> 
    <script type="text/javascript" src="scripts/index.js"></script> 
    <script type="text/javascript" src="scripts/jquery.min.js"></script> 
    <script type="text/javascript" src="scripts/jquery-ui.js"></script> 
    <script type="text/javascript" src="scripts/main.js"></script> 
    <script type="text/javascript"> 

    var is_ios = /(iPad|iPhone|iPod)/g.test(navigator.userAgent); 

    if (is_ios) { 

     $('<link rel="stylesheet" type="text/css" href="css/iosbugfix.css" />').appendTo("head"); 

    }; 

    </script> 

    <base href="/"> 

</head> 

<body ng-app="appItmt" ng-controller="dataController"> 

    <div ng-view></div> 

</body> 

</html> 

app.js

(function() { 
    var itmtApp = angular.module("appItmt", ["ngRoute", "cgBusy"]); 

    itmtApp.config([ 
     '$routeProvider', '$locationProvider', 
     function($routeProvider, $locationProvider) { 
      $routeProvider 
       .when('/how-to/', { 
        templateUrl: 'how-to.html', 
        controller: 'dataController' 
       }) 
       .when('/privacy/', { 
        templateUrl: 'privacy.html', 
        controller: 'dataController' 
       }) 
       .when('/about/', { 
        templateUrl: 'about.html', 
        controller: 'dataController' 
       }) 
       .otherwise({ 
        templateUrl: 'main.html', 
        controller: 'dataController' 

       }); 

      $locationProvider.html5Mode(true); 
     } 
    ]); 
}()); 
+0

に変更する必要があります答えを見つけました私はスプラッシュスクリーンとその遅延を持っていますか?それは別の「デフォルト・ポートレート」の画像ファイル – VikrantMore

+0

を探している必要がありますされていない場合@VikrantMoreはい - 私が追加しました: <プリファレンス名=「AutoHideSplashScreen」値=「偽」/> <設定名=」をSplashScreenDelay "value =" 10000 "/> 喜びはありません... – Martin

+0

スプラッシュスクリーンがありますが、それは白にフェードアウトします。 – Martin

答えて

0

。このhereについては、Cordovaのドキュメントを参照してください。

これは、PhoneGap/Cordovaの準備ができていることを示し、JavaScriptを実行しても安全です。

0

これは役立つかもしれない次のコードを試してみてください:以下のアドオンを

<preference name="ShowSplashScreenSpinner" value="false" />

    1. はyourapp /プラットフォーム/ IOS /コルドバ/であなたのconfig.xmlを変更し、以下のプリファレンスを追加し

      あなたのapp.jsへのコード:

      angular.module('starter.controllers', []) .run(function($ionicPlatform) { $ionicPlatform.ready(function() { setTimeout(function() { navigator.splashscreen.hide(); }, 100); }); })

    2. そして$ ionic emulate iosそれを試してみてください:

    は、アプリケーションを再構築してみてください。

    これが役に立ちます。

  • 0

    私は同じ問題を抱えていました。さらに悪いデバッグせるものはアプリがionic run androidでOK実行されることであるが、ionic build android

    で私が見つけたことは私のアプリが同時に私はその後 $locationProvider.html5Mode(true);

    を削除しなければならないことを意味 <base href="/"> せずに正常に動作していることではありません私はあなたのconfig.xmを設定している

    アプリ基盤を構築here<base href=".">

    +0

    ありがとうございました。パスの問題を回避できなかったので、各ページのすべてのコードをインデックスファイルに追加してそこで参照しました。幸いにもそれほど多くはなかったし、私たちの問題を解決しました。 – Martin

    関連する問題