基于 Web 的电子邮件客户端(例如 Gmail)是否支持链接预取?

Do web based email clients (e.g., Gmail) respect link prefetch?

提问人:user1946932 提问时间:10/13/2023 更新时间:10/13/2023 访问量:64

问:

https://caniuse.com/?search=prefetch 介绍如何将以下内容放在 HTML 页面的分区中:

<link rel="prefetch" href="(url)">

大多数基于 Web 的 HTML 电子邮件客户端是否支持预取?

例如,Gmail

gmail html-email 电子邮件-客户端 链接-预取

评论


答:

0赞 user1946932 10/13/2023 #1

如果预取代码位于正文中,而不是头部部分,则 Gmail 和其他公司可能不会将其删除:

https://html.spec.whatwg.org/multipage/links.html#body-ok

1赞 Nathan 10/13/2023 #2

电子邮件的工作方式是,像Gmail这样的电子邮件服务器将获取您的代码,根据严格的白名单将其证券化,运行许多事情,例如图像缓存,然后将您的代码粘贴到您登录的页面上。所以他们正在做大部分的表演工作。这意味着我们不希望电子邮件中普遍支持预取。

其次,据说预取是对浏览器的提示,表明您可能会使用该资源 - 就像在单页应用程序 (SPA) 中一样,您不会直接加载所有内容。电子邮件不是 SPA,而是始终直接加载所有内容。

大多数电子邮件客户端甚至不支持(https://www.caniemail.com/features/html-link/),更不用说 JavaScript 了!那么你到底要预取什么!?<link>

我不是预取的普通用户,但我注意到某些实现可能需要 JavaScript,或者与 JS 配合得更好,因此它可能与电子邮件完全无关(不确定):https://www.digitalocean.com/community/tutorials/html-preload-prefetch

我已经看到了外部 CSS 文件的一个用例,那就是 Apple Mail,它确实支持 ,其中 CSS 文件只是交互式样式,因此不需要在其他限制性更强的电子邮件客户端上加载。<link>

也许是字体?同样,唯一可能的地方是macOS和其他一些字体:https://www.caniemail.com/features/css-at-font-face/。Gmail 仅支持两种字体(Roboto 和 Google Sans),无论如何,它们都预先缓存在他们的系统中。我尝试在 Apple Mail 中对大量 Google 字体进行压力测试加载,如果我在标签上将他们的测试代码从 rel=“stylesheet” 更改为,字体就不会加载。如果我删除了他们的代码,那就没有区别了——所有字体都以高性能加载。<link><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

也许是图像?无论如何,Gmail 和 Yahoo Mail 等主要电子邮件客户端都会预先缓存您的图像。

因此,总而言之,它既没有必要,也没有任何证据表明它即使在Apple Mail中也能产生任何明显的效果(大约是唯一可能产生影响的)。

评论

0赞 user1946932 10/13/2023
哦,预取被设想为我们想要发送给人们的 HTML 电子邮件中的“了解更多”图形按钮。该按钮具有指向我们网站上网页的 href。我们希望预取该页面,以便在电子邮件收件人单击“了解更多”按钮时加快其加载速度。
0赞 Nathan 10/16/2023
电子邮件被锁定,不允许使用该用例。例如,如果该页面包含 JavaScript,那将是一个安全问题。