2014-08-28 154 views
0

我正尝试使用棘轮创建简单的Cordova移动应用程序,但无法获取push.js以加载任何页面。我研究的唯一东西是push event only works on mobile devices,但我没有在浏览器中使用它。我试图通过XCode和CLI中的cordova build ioscordova emulate ios进行模拟,但链接不起作用。他们眨眼间表示我点击了他们,但没有发生任何行动。这是我想转换的两页。棘轮push.js无法重定向网页

的index.html

<html> 
    <head> 
     <meta charset="utf-8" /> 
     <meta name="format-detection" content="telephone=no" /> 

     <!-- Set the viewport settings to prevent scaling --> 
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, target-densitydpi=device-dpi" /> 

     <!-- Makes your prototype chrome-less once bookmarked to your phone's home screen --> 
     <meta name="apple-mobile-web-app-capable" content="yes"> 
     <meta name="apple-mobile-web-app-status-bar-style" content="black"> 

     <title>MyProject</title> 
     <link rel="stylesheet" type="text/css" href="css/index.css" /> 
     <link rel="stylesheet" href="css/ratchet.css"> 
     <meta name="msapplication-tap-highlight" content="no" /> 
     <script src="js/jquery-2.1.1.min.js"></script> 
     <script type="text/javascript" src="cordova.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 
     <script src="js/ratchet.js"></script> 
     <script type="text/javascript"> 
      app.initialize(); 
      $(function(){ 
       window.localStorage.setItem('phone-number', '1-330-697-3044'); 
      }); 
     </script> 
     <style> 
      /*Stops the text from being in all caps*/ 
      body * { 
       text-transform: none;  
      } 
     </style> 
    </head> 
    <body> 
     <!-- Bar items --> 
     <header class="bar bar-nav"> 
      <h1 class="title">RealtyShout</h1> 
     </header> 
     <nav class="bar bar-tab"> 
      <a href="#" class="tab-item active"> 
       <span class="icon icon-home"></span> 
       <span class="tab-label">Home</span> 
      </a> 
      <a href="subscriptions.html" data-transition="slide-in" class="tab-item"> 
       <span class="icon icon-star"></span> 
       <span class="tab-label">Subscriptions</span> 
      </a> 
      <a href="#" class="tab-item"> 
       <span class="icon icon-person"></span> 
       <span class="tab-label">Contact Info</span> 
      </a> 
      <a href="#" class="tab-item"> 
       <span class="icon icon-download"></span> 
       <span class="tab-label">Messages</span> 
      </a> 
     </nav> 
     <!-- Page contents --> 
     <div class="content"> 
      <ul class="table-view"> 
       <li class="table-view-cell"><a href="subscriptions.html" data-transition="fade" class="navigate-right">Subscriptions</a></li> 
       <li class="table-view-cell"><a href="#" class="navigate-right">Contact Info</a></li> 
       <li class="table-view-cell"><a href="#" class="navigate-right">Messages</a></li> 
      </ul> 
     </div> 
    </body> 
</html> 

subscriptions.html

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 
     <meta name="format-detection" content="telephone=no" /> 

     <!-- Set the viewport settings to prevent scaling --> 
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, target-densitydpi=device-dpi" /> 

     <!-- Makes your prototype chrome-less once bookmarked to your phone's home screen --> 
     <meta name="apple-mobile-web-app-capable" content="yes"> 
     <meta name="apple-mobile-web-app-status-bar-style" content="black"> 

     <title>MyProject: Subscriptions</title> 
     <link rel="stylesheet" type="text/css" href="css/index.css" /> 
     <link rel="stylesheet" href="css/ratchet.css"> 
     <meta name="msapplication-tap-highlight" content="no" /> 
     <script src="js/jquery-2.1.1.min.js"></script> 
     <script type="text/javascript" src="cordova.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 
     <script src="js/ratchet.js"></script> 
     <script type="text/javascript"> 
      app.initialize(); 
     </script> 
     <style> 
      /*Stops the text from being in all caps*/ 
      body * { 
       text-transform: none;  
      } 
     </style> 
    </head> 
    <body> 
     <header> 
     <!-- Bar items --> 
     <header class="bar bar-nav"> 
      <h1 class="title">MyProject</h1> 
     </header> 
     <nav class="bar bar-tab"> 
      <a href="#" class="tab-item"> 
       <span class="icon icon-home"></span> 
       <span class="tab-label">Home</span> 
      </a> 
      <a href="#" class="tab-item active"> 
       <span class="icon icon-star"></span> 
       <span class="tab-label">Subscriptions</span> 
      </a> 
      <a href="#" class="tab-item"> 
       <span class="icon icon-person"></span> 
       <span class="tab-label">Contact Info</span> 
      </a> 
      <a href="#" class="tab-item"> 
       <span class="icon icon-download"></span> 
       <span class="tab-label">Messages</span> 
      </a> 
     </nav> 
     <!-- Page contents --> 
     <div class="content"> 
      <ul class="table-view"> 
       <li class="table-view-cell">Hello World</li> 
      </ul> 
     </div> 
     </header> 
    </body> 
</html> 

回答

0

我猜的index.html和subscriptions.html通过文件系统提供服务呢?它意味着它符合你的phonegap/cordova应用程序?这可能是该URL使用file://协议内部编译的应用程序加载,目前不支持push.js。

我能得到它从@artemave

应用的push.js代码修改后的版本工作只需更换ratchet.js与此版本的“//核心PUSH功能”部分:

https://github.com/artemave/ratchet/commit/5ccfdd765ecd15666b83b0b9abc15e4c120b7713

解决了ios模拟器中对我的问题。