如何强制聚合物使用polyfill

时间:2015-08-11 14:03:35

标签: polymer polyfills

自Polymer 1.0发布以来,我开始在Chrome和其他浏览器(Firefox,准系统WebKit)之间获得不同的初始化顺序。虽然1.0文档说"there are no guarantees with regard to initialization timing",但在版本0.5中我没有这样的问题。

的index.html:

<script src="components/webcomponentsjs/webcomponents.js"></script>
<link rel="import" href="name-tag.html">
<body onload="console.log('body onload');">
  <name-tag></name-tag>
</body>

命名-tag.html:

<link rel="import" href="components/polymer/polymer.html">

<dom-module id="name-tag">
  <template></template>
  <script>
    Polymer({
      is: "name-tag",
      ready: function() {
        console.log("polymer ready");
      }
    });
  </script>
</dom-module>

Chrome 44:

polymer ready
body onload

Firefox 39,QWebView(Qt5.4,WebKit):

body onload
polymer ready

我已经尝试过:

  • window.WebComponents = {flags: {register: true, polyfill: true}};register曾在Polymer
  • window.Polymer.Settings = {useNativeShadow: false};
  • attached使用this.async()
  • 回调

1 个答案:

答案 0 :(得分:1)

window.Polymer.dom = 'shadow'强制Polymer默认使用shadow DOM(如果您使用webcomponents.js则使用polyfilled,或者如果您使用webcomponents-lite.js则使用本机)。