【发布时间】:2015-10-02 05:00:00
【问题描述】:
所以我正在我的应用程序中加载加载屏幕。然后我通过在 JavaScript 中创建 link 元素,通过 HTML 导入加载我的自定义元素。我需要知道此 HTML 导入何时完成加载以向用户显示内容。下载完成时 HTML 导入会触发事件吗?
【问题讨论】:
标签: javascript html polymer custom-element html-imports
所以我正在我的应用程序中加载加载屏幕。然后我通过在 JavaScript 中创建 link 元素,通过 HTML 导入加载我的自定义元素。我需要知道此 HTML 导入何时完成加载以向用户显示内容。下载完成时 HTML 导入会触发事件吗?
【问题讨论】:
标签: javascript html polymer custom-element html-imports
当 HTML 导入完成加载时,它会触发一个名为 HTMLImportsLoaded 的事件。我建议您依靠此事件在不同的浏览器中获得一致的行为。
window.addEventListener( "HTMLImportsLoaded", function ()
{
//HTML Imports are loaded
} )
关于 HTML 导入,请阅读此内容以了解 onload、HTMLImportsLoaded 和 WebComponentsReady 之间的区别:
http://webcomponents.org/polyfills/html-imports/
【讨论】:
如果您需要知道所有导入的加载时间,您可以使用:
window.addEventListener('WebComponentsReady', function() {
// imports are loaded and elements have been registered
});
【讨论】:
您有onload 事件。
<script async>
function handleLoad(e) {
console.log('Loaded import: ' + e.target.href);
}
function handleError(e) {
console.log('Error loading import: ' + e.target.href);
}
</script>
<link rel="import" href="file.html"
onload="handleLoad(event)" onerror="handleError(event)">
有关进口的更多信息,here you go。
【讨论】: