自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()
答案 0 :(得分:1)
window.Polymer.dom = 'shadow'
强制Polymer默认使用shadow DOM(如果您使用webcomponents.js
则使用polyfilled,或者如果您使用webcomponents-lite.js
则使用本机)。