如何在 Express 4 中正确设置 link 预取 headers?
How do I properly set link prefetch headers in Express 4?
根据MDN正确的方法是发送header:
Link: </images/big.jpeg>; rel=prefetch
所以我的表达语法是:
res.header('Link', '</images/big.jpeg>; rel=prefetch');
我看到它在我的浏览器中显示为:
Link:</images/big.jpeg>; rel=prefetch
但是 chrome 从不尝试下载图像。元和 link 方法工作正常..
是我设置的 header 有误还是浏览器无法处理 header 值?
UDPATE:好的,看起来我做的事情是正确的,但是 Chrome 43 和 Linux/Ubuntu 上的 Chromium 43 还没有对此的支持。这在 Firefox 38 中运行良好..
Chromium 是否只是没有在“网络”选项卡中显示预取?
更新 2:看起来 Chrome/Chromium 正在从“网络”选项卡中隐藏文件传输。如果有人能证实这一点,我将不胜感激..
在 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.
进行测试
You can see me implementing this in a larger project in context here.
根据MDN正确的方法是发送header:
Link: </images/big.jpeg>; rel=prefetch
所以我的表达语法是:
res.header('Link', '</images/big.jpeg>; rel=prefetch');
我看到它在我的浏览器中显示为:
Link:</images/big.jpeg>; rel=prefetch
但是 chrome 从不尝试下载图像。元和 link 方法工作正常..
是我设置的 header 有误还是浏览器无法处理 header 值?
UDPATE:好的,看起来我做的事情是正确的,但是 Chrome 43 和 Linux/Ubuntu 上的 Chromium 43 还没有对此的支持。这在 Firefox 38 中运行良好..
Chromium 是否只是没有在“网络”选项卡中显示预取?
更新 2:看起来 Chrome/Chromium 正在从“网络”选项卡中隐藏文件传输。如果有人能证实这一点,我将不胜感激..
在 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.
进行测试You can see me implementing this in a larger project in context here.