如何在PHP中检测浏览器中的预取?

时间:2013-06-16 23:32:53

标签: php apache prefetch

浏览器可以预览某些页面(请参阅thisthat)。如何在PHP中检测到请求是预取请求?

是否有任何方法不是浏览器特定的?

(PS:我使用Apache。)

2 个答案:

答案 0 :(得分:1)

我正在寻找一个类似的答案来阻止FF和其他浏览器抛弃我的服务器端页数。

根据上面的文章,Firefox会发送一个标题,以便于检测,但Chrome白皮书指出Chrome不会向服务器发出任何指示。 Chrome白皮书指出,外部分析解决方案(用JS编写的脚本)在使用page visibility API时不会计算预取命中数。

我的建议是编写自己的JS脚本来检测页面是否可见。

答案 1 :(得分:0)

这个问题非常类似于“如何检测cookie是否已启用?”。但是您必须使用客户端重定向,因为在加载主页后加载了预取的页面。

直接预取请求可以通过标头(X-Moz: prefetch为FF)检测到,也可以通过将其他参数传递给链接。

P.S。如果没有启用cookie,则无法为客户端检测它,仅针对每个目录预取请求。