WebComponentsReady在Safari中过早发射?

时间:2015-09-04 16:58:09

标签: javascript safari mobile-safari web-component polymer-1.0

所以我正在研究聚合物桌面/移动webapp。我有一个WebComponentsReady侦听器附加到全局窗口对象,以确保聚合物html元素(以及它们所依赖的polyfill)将在我的应用程序逻辑开始时就绪并准备就绪。在firefox中工作正常(当然还有chrome)。这带来了我们的野生动物园/移动野生动物园。

在野生动物园中,事件似乎在聚合物完成它的事情之前开火。添加几秒钟的setTimeout包装(> 2似乎是最小化的),一切正常。 this question的答案似乎已经过时了:链接被打破,“聚合物就绪”事件似乎不再激发。

那么如何在所有浏览器中确保聚合物支持

1)webcomponents已准备好(本机或polyfilled)
2)所有聚合物元件都已完成构造和准备    是否附加了事件监听器?

setTimeout太不确定了,我想要一个更清洁的解决方案。

1 个答案:

答案 0 :(得分:0)

使用Polymer 1.0中的dom-change事件而不是'聚合物就绪'。

的index.html

<body unresolved fullbleed layout vertical>
<template is="dom-bind" id="app">

app.js

var app = document.querySelector('#app');
app.addEventListener('dom-change', function() {
    console.log("Polymer is ready!");
    // do your thing
});