2014-08-28 2 views
0

래칫을 사용하여 간단한 Cordova 모바일 앱을 만들려고하고 push.js 페이지를로드 할 수 없습니다. 내 연구가 끌어 낸 유일한 것은 push event only works on mobile devices이지만 브라우저에서는 사용하지 않는 것입니다. XCode를 통해 에뮬레이션을 시도했지만 cordova build ioscordova emulate ios CLI에서 링크가 작동하지 않습니다. 내가 그들을 클릭했지만 아무런 조치도 취해지지 않았 음을 나타 내기 위해 깜박입니다. 다음 두 페이지 사이를 전환하고 싶습니다.래칫 푸시 .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 index.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

? 그것이 귀하의 phonegap/cordova 앱을 준수했음을 의미합니까? 현재 push.js에서 지원하지 않는 컴파일 된 응용 프로그램 내에서 file : // 프로토콜을 사용하여 URL을로드 할 수 있습니다.

:

나는 그냥이 버전 ratchet.js의 "// 코어 PUSH 기능"절을 대체 @artemave

에서 push.js 코드의 수정 된 버전을 적용하여 작업을 얻을 수 있었다

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

ios 시뮬레이터 관련 문제가 해결되었습니다.

관련 문제