【问题标题】:Polymer on CordovaCordova 上的聚合物
【发布时间】:2014-07-03 15:47:07
【问题描述】:

有没有人正在使用聚合物运行 cordova 应用程序?

我在科尔多瓦上使用 angular.js 和聚合物,在我的 Chrome (v37) 中一切都很好,在 Android 调试控制台中我收到错误并且屏幕保持白色:

07-03 16:53:26.865: D/CordovaLog(11728): file:///android_asset/www/js/index.js: Line 9899 : Error: Assertion failed
07-03 16:53:26.865: D/CordovaLog(11728):     at c (file:///android_asset/www/polymer/platform/platform.js:12:21781)
07-03 16:53:26.865: D/CordovaLog(11728):     at b (file:///android_asset/www/polymer/platform/platform.js:13:8230)
07-03 16:53:26.865: D/CordovaLog(11728):     at b.F.insertBefore (file:///android_asset/www/polymer/platform/platform.js:13:11769)
07-03 16:53:26.865: D/CordovaLog(11728):     at b.F.appendChild (file:///android_asset/www/polymer/platform/platform.js:13:11720)
07-03 16:53:26.865: D/CordovaLog(11728):     at replaceWith (file:///android_asset/www/js/index.js:6983:16)
07-03 16:53:26.865: D/CordovaLog(11728):     at applyDirectivesToNode (file:///android_asset/www/js/index.js:6282:13)
07-03 16:53:26.865: D/CordovaLog(11728):     at compileNodes (file:///android_asset/www/js/index.js:5958:15)
07-03 16:53:26.865: D/CordovaLog(11728):     at compileNodes (file:///android_asset/www/js/index.js:5970:15)
07-03 16:53:26.865: D/CordovaLog(11728):     at compileNodes (file:///android_asset/www/js/index.js:5970:15)
07-03 16:53:26.865: D/CordovaLog(11728):     at compileNodes (file:///android_asset/www/js/index.js:5970:15)

Polymer 版本为 0.3.3,cordova 版本为 3.5.0-0.2.4,Android 版本为 4.4.4

应用程序没有启动,我删除了所有的 html 进行测试,但错误保持不变

【问题讨论】:

  • 我在 Chrome (36) 测试版上试用它,但不在 Cordova 上。我遇到了绑定问题。特别是 ngNodel 不适用于纸张复选框之类的东西。此外,自定义属性似乎没有正确绑定。查看 angular-bind-polymer 看看它是否适合您github.com/eee-c/angular-bind-polymer

标签: javascript android angularjs cordova polymer


【解决方案1】:

我让它在 Android 4.4 上运行。我听说你可以使用 Crosswalk 让它与早期版本的 Android 一起工作。

我在这里制作了我的 Polymer Cordova 项目的教程:

https://www.thepolyglotdeveloper.com/2014/07/use-polymer-apache-cordova/

【讨论】:

  • 是的。使用人行横道,你可以让它工作到 ICS
【解决方案2】:

Nics 教程非常好。谢谢尼克。

此外,我建议检查 Chrome Dev Editor,它已经内置了可以播放和运行的所有内容。

MobileChromeApps https://github.com/MobileChromeApps/mobile-chrome-apps

ChromeDevEditor https://github.com/dart-lang/chromedeveditor

希望对你有帮助。

【讨论】:

    【解决方案3】:

    我在 iPhone 6 上使用 Polymer 和 Cordova,效果非常好。

    【讨论】:

      【解决方案4】:

      它在 4.4.4 上对我来说很好,但我需要支持早期版本,所以我使用 MobileChromeApps,它使用 Cordova 和 crosswalk 来部署你的应用程序,而不是使用聚合物不支持的默认浏览器。

      这对我来说很好,但在 iOS 上它没有使用 chrome,而是使用默认的 webView,它是 safari,它似乎不适用于 MobileChromeApps,但可以使用普通的旧 Cordova。呃。

      有人在 iOS 上使用 MobileChromeApps 进行人行横道吗?

      【讨论】:

        【解决方案5】:

        我在让 Polymer 1.0 工作时也遇到了很多问题。 对我来说,解决方案是解决 CORS(跨脚本)、应用程序安全相关问题。诀窍是在 config.xml 中添加以下内容。

        <gap:plugin name="cordova-plugin-whitelist" source="npm" version="1.2.1" />
        

        有选项

        <allow-navigation href="http://*/*" />
        <allow-navigation href="https://*/*" />
        <allow-navigation href="data:*" />
        <allow-intent href="http://*/*" />
        <allow-intent href="https://*/*" />
        <access origin="*" />
        

        以这种方式使用它们是不安全的(您允许对所有人开放)。但它让我可以使用外部 CDN 服务器访问 Polyfill 和其他东西。最初阻止我,显示白屏。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多