Depuis la version Polymer 1.0, je commence à obtenir un ordre d'initialisation différent entre Chrome et les autres navigateurs (Firefox, barebone WebKit). Bien que les docs 1.0 disent "there are no guarantees with regard to initialization timing", dans la version 0.5 je n'ai pas eu un tel problème.Comment forcer Polymer à utiliser polyfill
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>
nom-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
Ce que j'ai déjà essayé:
window.WebComponents = {flags: {register: true, polyfill: true}};
(register autrefois dansPolymer
)window.Polymer.Settings = {useNativeShadow: false};
attached
rappel avecthis.async()
_soit le polyfilled si vous avez utilisé webcomponents.js_ - les docs disent le contraire: _'shadow ': DOM local est rendu en utilisant shadow DOM où supported_. Ce qui signifie qu'il utilisera l'implémentation native ** seulement ** là où il est pris en charge. Et voici ce que je reçois: Chrome rend aveC# shadow-root, Firefox non. – svlasov