我有错误document.registerElement undefined

时间:2015-01-03 03:13:58

标签: javascript polymer

JavaScript运行时错误:对象不支持属性或方法' registerElement'

文件中的

:... bower_components \ polymer \ polymer.js第11701行

  document.registerElement('polymer-element', {prototype: prototype});

我的凉亭:

{
  "name": "Polymer",
  "version": "0.0.0",
  "main": "main",
  "license": "MIT",
  "private": true,
  "dependencies": {
    "polymer": "Polymer/polymer#~0.5.2",
    "core-icons": "Polymer/core-icons#~0.5.2",
    "core-elements": "Polymer/core-elements#~0.5.2",
    "paper-elements": "Polymer/paper-elements#~0.5.2"
  }
}

我的页面:

<!DOCTYPE html>
<html>
<head>
    <link rel="import" href="/client/polymer-0.5.2/bower_components/polymer/polymer.html">
</head>
<body>
    <!-- render data set -->
  <template id="auto-bind-demo" is="auto-binding" repeat="{{quotes}}">
    <div on-tap="{{quoteClicked}}">
      <h3>{{quote}}</h3>
      - <em>{{attribution}}</em>
    </div>
  </template>

  <script>
    var t = document.querySelector('#auto-bind-demo');
    t.quoteClicked = function() {
      alert('Quote clicked!');
    };
    t.quotes = [{ 
      attribution: 'Plautus', 
      quote: 'Let deeds match words.'
    }, { 
      attribution: 'Groucho Marx',
      quote: 'Time flies like an arrow. Fruit flies like a banana.'
    }];
  </script>
</body>
</html>

出了什么问题?我从文档中的示例中获取了这个。这里https://www.polymer-project.org/docs/polymer/databinding-advanced.html#autobinding

PS:浏览器IE11

1 个答案:

答案 0 :(得分:5)

目前只有Chrome和其他基于blink的浏览器支持自定义元素。 Firefox支持但不支持defualt。

请参阅Can I Use以获取完整的支持图表。

如果您在其他浏览器上使用它,则需要包含 Web组件 polyfill(通常是名为 webcomponents.js 的文件)。