如何在Polymer中检查所有页面是否已满载

时间:2016-09-29 04:04:05

标签: javascript polymer-1.0

无论如何都要检查所有组件和&元素在Polymer中完全加载?因为我现在计划实现在Polymer中执行或运行后台进程所有组件和元素在Polymer中完全加载。请按照我在Polymer中所说的那样给我一个提示方法。

1 个答案:

答案 0 :(得分:0)

每个自定义元素都有一个未解析的状态,直到它更新为自定义Shadow DOM。在自定义元素v1中,它由:defined伪类确定,可用于使用querySelector列出它们:

let undefinedElements = document.querySelectorAll(':not(:defined)');
console.debug('undefinedElements', undefinedElements);

Polymer 1.0将它的元素添加到unresolved属性,因为v0 Api具有该属性并且它也可以使用:

let unresolvedElements = document.querySelectorAll('[unresolved]');
console.debug('unresolvedElements', unresolvedElements);

如果您将unresolved属性添加到body,那么如果每个聚合物元素都更新为它的Shadow DOM,则Polymer会在页面中淡入淡出。

  

注意:我不建议在unresolved上使用body,因为它阻止了第一次绘制,用户将在3秒后离开。但是将css规则添加到my-element[unresolved]以提供它的大小,颜色将在加载后显示,用户将只看到更新的元素,但直到页面正常工作。