1

根据MDN,正确的方法是发送标头:

Link: </images/big.jpeg>; rel=prefetch

所以我的表达语法是:

res.header('Link', '</images/big.jpeg>; rel=prefetch');

我看到它在我的浏览器中显示为:

Link:</images/big.jpeg>; rel=prefetch

但是 chrome 从不尝试下载图像.. 元和链接方法工作正常..

我是否设置了错误的标头或浏览器无法处理标头值?

UDPATE:好的,看起来我做对了,但 Linux/Ubuntu 上的 Chrome 43 和 Chromium 43 尚不支持此功能。这在 Firefox 38 中运行良好。

难道 Chromium 只是没有在“网络”选项卡中显示预取吗?

更新 2:所以看起来 Chrome/Chromium 正在从“网络”选项卡中隐藏文件传输。如果有人能证实这一点,我将不胜感激..

4

1 回答 1

5

在 Express 4+ 中为一个文件设置预取..

res.set('Link', '<static/js/file1.js>; rel=prefetch');

对于多个文件。

res.set('Link', '<static/js/file1.js>; rel=prefetch, <static/js/file2.js>; rel=prefetch');

不要尝试在 Chrome 中进行测试,如果您在“网络”选项卡下进行调查,Chrome 会欺骗您并将其显示为不工作。始终使用Firefox进行测试。

你可以在这里看到我在一个更大的项目中实现这个。

于 2015-06-29T09:39:27.783 回答