我正在尝试根据Dart编辑器示例“clickcounter”使用Dart和Polymer构建一个简单的Chrome应用。它可以在我的Lubuntu Desktop上运行,但不能在我的Android(4.2.2)设备上运行。

polymer_chrome_app.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Polymer chrome app</title>
    <!-- include the web_components polyfills with support for Dart. -->
    <script src="packages/web_components/platform.js"></script>
    <!-- import the click-counter -->
    <link rel="import" href="clickcounter.html">
    <link rel="stylesheet" href="polymer_chrome_app.css">
  </head>
  <body>
    <h1>Polymer chrome app</h1>
    <p>Hello world from Dart!</p>
    <div id="container_id">
      <click-counter count="5"></click-counter>
    </div>
 <script type="application/dart" src="polymer_chrome_app.dart"></script>
    <script src="packages/chrome/bootstrap.js" defer></script>
    <script src="packages/browser/dart.js"></script>
  </body>
</html>

polymer_chrome_app.dart

import 'package:polymer/polymer.dart';
void main() {
  initPolymer();
  print ("hello!");
}

clickcounter.html

<!-- import polymer-element's definition -->
<link rel="import" href="packages/polymer/polymer.html">
<polymer-element name="click-counter" attributes="count">
  <template>
    <style>
      div {
        font-size: 24pt;
        text-align: center;
        margin-top: 140px;
      }
      button {
        font-size: 24pt;
        margin-bottom: 20px;
      }
    </style>
    <div>
      <button on-click="{{increment}}">Click me</button><br>
      <span>(click count: {{count}})</span>
    </div>
  </template>
  <script type="application/dart" src="clickcounter.dart"></script>
</polymer-element>

clickcounter.dart

import 'package:polymer/polymer.dart';
/**
 * A Polymer click counter element.
 */
@CustomTag('click-counter')
class ClickCounter extends PolymerElement {
  @published int count = 0;

  ClickCounter.created() : super.created() {
  }
  void increment() {
    count++;
  }
}

pubspec.yaml

name: polymer_chrome_app
description: A sample Chrome packaged application
dependencies:
  chrome: any
  polymer: any
transformers:
- polymer:
    entry_points: web/polymer_chrome_app.html
    csp: true
- chrome
- $dart2js:
    csp: true

有解决此问题的想法吗?

编辑
澄清:chrome应用程序运行,但未显示click-counter元素。在JavaScript控制台中不会引发任何错误。

编辑
Dart 版本:1.7.2
聚合物版本:0.15.1
Chrome版本:39.02171.59
对于部署,我使用的是:
设备上的CADT
我的笔记本电脑上的cca

最佳答案

据我所知,Polymer不支持Android股票浏览器。

看到

  • https://www.polymer-project.org/resources/compatibility.html
  • https://github.com/Polymer/polymer/issues/202
  • 关于dart - Polymer dart元素可在Ubuntu上运行,但不能在Android设备上的chrome应用程序中使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27138836/

    10-11 22:16
    查看更多