javascript - rel ="prerender"加载事件?预渲染完成时通知用户

标签 javascript html prerender

在页面 A 上,我动态插入一个指向页面 B 的预渲染标记:<link rel="prerender" href="page B"/> .

我想知道是否 prerender当完成加载页面 B 时触发一个事件,我可以从页面 A 上的 javascript 访问该页面。

如果浏览器对此不支持,是否还有其他解决方法?

最佳答案

不幸的是,rel="prerender" 不会触发加载和错误事件,在 Chrome/Firefox 中也是如此(我不知道为什么)。

相反,我使用 rel="preload" 并且一切正常(但仅适用于 Chrome)

此外,您还可以使用as参数添加 Assets 类型

<link rel="preload" as="document" href="some.html">

我的 typescript 方法创建下载链接是下一个:

private createLinkToPreload(externalHref: string): HTMLElement {
  let linkElement = document.createElement("link");
  linkElement.rel = "preload";
  linkElement.href = externalHref;

  let me = this;
  linkElement.onload = () => {me.onElementPreloaded(externalHref)};
  linkElement.onerror = () => {me.onElementPreloadError(externalHref)};

  return linkElement;
}

private onElementPreloaded(externalHref: string) {
  console.log(`${externalHref} preloaded`);
}

private onElementPreloadError(externalHref: string) {
  console.log(`Error while preloading ${externalHref}`);
}

关于javascript - rel ="prerender"加载事件?预渲染完成时通知用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36066538/

相关文章:

meteor - 如何在 Meteor 中使用 Prerenderio?

javascript - 最大数量池从数据库输入文本,并在选择形成 html/js/php 时减少它

html - 测试预渲染是否在本地工作?

asp.net - 访问单选按钮的 OnChange javascript 事件时出现问题

javascript - 如何在 iframe 之外打开新链接?

javascript - Window.innerHeight 与 Bootstrap 冲突

javascript - 根据颜色输入类型更改形状的颜色 javesctipt

html - 资源提示 : (a)synchronous? 奇妙但令人困惑的想法

javascript - 单击另一个 div 时,div 不会隐藏和显示

javascript - 如何在 XML 中搜索关键字并向下滚动窗口找到它?