2016-06-27 12 views
0

私はhello worldのCordovaアプリケーションを作成しました。私は既存のSPA Webアプリケーションを読み込もうとしています。ここに私のindex.htmlです:Cordova iOS window.location not working

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 
     <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"> 
     <link rel="stylesheet" type="text/css" href="css/index.css"> 
     <title>Winetracker.co</title> 
    </head> 
    <body> 
     <div class="app"> 
      <h1>Apache Cordova</h1> 
      <div id="deviceready" class="blink"> 
       <p class="event listening">Connecting to Device</p> 
       <p class="event received">Device is Ready</p> 
      </div> 
     </div> 
     <script type="text/javascript" src="cordova.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 
     <script> 
      function onDeviceReady() { 
      if (navigator.connection.type == Connection.NONE) { 
       navigator.notification.alert('An internet connection is required to continue'); 
      } else { 
       window.location="https://app.winetracker.co"; 
      } 
      } 
      document.addEventListener("deviceready", onDeviceReady, false); 
     </script> 
    </body> 
</html> 

そして、ここに私のconfig.xmlファイルです:私はちょうど代わりに、またはgoogle.comにリンクするように(いくつかのバリエーションをいくつかのチュートリアルを経てと試してみた

<?xml version='1.0' encoding='utf-8'?> 
<widget id="co.winetracker.app" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
    <name>Winetracker.co</name> 
    <description> 
     The easiest way to keep track of the wine you drink. 
    </description> 
    <author email="[email protected]" href="http://winetracker.co"> 
     Winetracker.co 
    </author> 
    <content src="index.html" /> 
    <plugin name="cordova-plugin-whitelist" spec="1" /> 
    <allow-navigation href="*://*.winetracker.co/*" /> 
    <allow-intent href="http://*/*" /> 
    <allow-intent href="https://*/*" /> 
    <allow-intent href="tel:*" /> 
    <allow-intent href="sms:*" /> 
    <allow-intent href="mailto:*" /> 
    <allow-intent href="geo:*" /> 
    <platform name="android"> 
     <allow-intent href="market:*" /> 
    </platform> 
    <platform name="ios"> 
     <allow-intent href="itms:*" /> 
     <allow-intent href="itms-apps:*" /> 
    </platform> 
</widget> 

test.htmlファイル)しかし、私はちょうど何かが不足していると確信しています。新鮮な目には問題がありますか?

+0

同じ問題を私もAndroidのエミュレータをビルドするとき。 – tonejac

答えて

0

JavaScriptのセキュリティポリシーでは、ブロックの問題がありました。

私は、次の行をスワップアウトし、それは完全に働いた:

<meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com *; style-src * 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; connect-src *; media-src *"> 
0
<!DOCTYPE html> 

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

    <title>Winetracker.co</title> 
</head> 
<body> 

    <script type="text/javascript" src="cordova.js"></script> 

    <script> 
     function onDeviceReady() { 
     alert("Nonnnn"); 
     if (navigator.connection.type == 'Unknown connection') { 
      navigator.notification.alert('An internet connection is required to continue'); 
     } else { 
      window.location="https://app.winetracker.co"; 
     } 
     } 
     document.addEventListener("deviceready", onDeviceReady, false); 
    </script> 
</body>