预加载外部网站内容,然后重定向。

5

当用户离开一个网站时,会收到一个消息“您现在要离开”,然后在4秒钟后重定向。是否可以利用这段时间来预加载目标网站的内容,以便在重定向后网站能够更快地显示出来?

2个回答

6
如果要获取的网站在你的域名下,你可以使用JavaScript解析下一个文件并请求相关资源。如果不是,则无法找到其资源(通常情况下无法通过XHR获得),因此无法预加载它们。你可以通过将该网站放置在隐藏的iframe中来进行hack。你还可以使用服务器作为代理,获取资源列表并将其传递给HTML以开始预加载它们。你也可以尝试使用这个meta标签...
<link rel="prefetch" href="/images/big.jpeg">

来源

然而,这样做可能会付出很多努力,但收益却不一定很大。


MDN的“Source”网址已经失效,而且有太多待处理的编辑,我无法自行修复:https://developer.mozilla.org/en-US/docs/Web/HTTP/Link_prefetching_FAQ - andrerom

3

你可以将网站加载到一个不可见的 <iframe> 中。如果缓存得当,这将减少用户实际进入页面时的加载时间。

然而这会带来各种潜在的副作用,比如背景自动播放音乐和视频。

我倾向于把这种预加载留给Web浏览器(和/或@alex展示的prefetch标签!)


重定向将转到合作伙伴网站,因此我们会注意它们是否有背景音乐。 - Moak
1
@Moak 但是还有许多其他因素-插件下载通知、警报等。如果您要使用它,请确保彻底测试。 - Pekka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接