如何解决当所有预取链接准备就绪时,如何通知?
我有一个网页,其中head
包含一些预取链接:
<link href="/fonts/my-font.ttf" rel="prefetch">
在JavaScript脚本中,我想在这些资源准备就绪时收到通知。
我不确定100%,但是以下代码似乎适用于预加载链接:
// When this promise resolves,we are sure that all resources are loaded
return new Promise(resolve => {
if (document.readyState === 'complete') {
resolve();
} else {
window.onload = resolve;
}
});
我想做类似的事情,但是使用预取,因为当此承诺解决时,预取查询仍在运行。
解决方法
根据Resource Hints,对于发出的推测性提取请求(包括链接预提取),您可以期望看到load
和error
事件:
3.2加载和错误事件
用户代理不得延迟以下事件的加载事件: 由于未完成的预连接或推测性提取而导致的文档 发起的请求。
决定是否执行资源提示,如果执行, 是将全部处理还是部分处理推迟到用户 代理商。结果,元素级别的加载和错误JavaScripts事件 不保证会射击,如果射击了,则不保证射击完全 应用处理。但是,用户代理应该触发 在可能的情况下,适当的加载和错误事件,以允许 应用程序以跟踪执行了哪些提示以及何时执行。
但是请注意,整个过程取决于用户代理,不能保证任何东西的预取,并且请记住,用户可能会在各种浏览器中完全禁用预取。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。