有没有人成功集成 Ember.js - Phonegap(和 jQuery Mobile)?

Posted

技术标签:

【中文标题】有没有人成功集成 Ember.js - Phonegap(和 jQuery Mobile)?【英文标题】:Has anyone successfully integrated Ember.js - Phonegap (and jQuery Mobile)? 【发布时间】:2012-04-06 17:06:07 【问题描述】:

我正在努力将 Cordova(=Phonegap) 与 Ember.js 和 jQuery Mobile 集成。 Ember.js + jQuery Mobile 工作正常,因为在任何桌面浏览器中加载 index.html 都会成功加载应用程序。

使用 xCode 4 和 iPhone 5.1 模拟器,它不会在车把标签中显示任何内容。这意味着 Ember.js 无法加载。

index.html:

<html lang="en"> 
<head>

  <title></title>

  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
  <meta charset="utf-8">

  <link rel="apple-touch-icon" href="/apple-touch-icon.png">

  <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />

</head>
<body>
  <script type="text/x-handlebars" data-template-name="main">
    this text is NOT displayed

  </script>

  <div> this text IS displayed </div>


  <script src="js/vendor/jquery.min.js"></script>
  <script src="js/vendor/jquery.mobile.js"></script>
  <script src="js/vendor/ember.js"></script>
  <script src="js/app/app.js"></script>
  <script src="js/vendor/cordova-1.5.0.js"></script>
  <script type="text/javascript">

      // If you want to prevent dragging, uncomment this section
      function preventBehavior(e) 
          e.preventDefault(); 
      ;
      document.addEventListener("touchmove", preventBehavior, false);


      document.addEventListener("deviceready", onDeviceReady, false);

      /* When this function is called, Cordova has been initialized and is ready to roll */
      /* If you are supporting your own protocol, the var invokeString will contain any arguments to the app launch.
      see http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html
      for more details -jm */
      function onDeviceReady()
          // do your thing!
      

  </script>

</body>
</html>

【问题讨论】:

【参考方案1】:

发现问题。 XCode 正在报告:

 ERROR whitelist rejection: url='http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css'

在this 之后,我将*.jquery.com 添加到ExternalHosts 数组中,在Cordova.plist 内。

【讨论】:

我会告诉您,如果您将 jQuery 依赖项置于网络连接上,您的应用程序将被拒绝。您可以使用网络,但您需要做好准备,让用户知道为什么应用程序的某个部分无法正常工作,因为他们没有连接。 更正 css - 虽然一样。您的应用需要加载这些类型的文件才能获得批准。 感谢您的提示。不知道,不过我打算让该应用完全离线可用。

以上是关于有没有人成功集成 Ember.js - Phonegap(和 jQuery Mobile)?的主要内容,如果未能解决你的问题,请参考以下文章

Ember.js 命名空间问题

使用rails和ember.js创建PDF

ember.js 无限滚动(延迟加载)

您在Ember.js应用程序中使用哪个UI工具包?

Ember.js - 前端框架(原创翻译)

为啥没有调用我的 ember.js 路由模型?