为什么firefox总是加载菜单中的下一页以及我请求的页面?

为什么firefox总是加载菜单中的下一页以及我请求的页面?,firefox,web-applications,Firefox,Web Applications,我正在一个新网站上工作。在测试某些功能时,我有许多调试语句,并在查看日志。看起来Firefox(至少)会加载菜单中的“下一页”页面以及我单击的页面。如果我有菜单项A B C D E并单击B,那么我会看到对mysite.com/B的请求,然后在日志中看到对mysite.com/C的请求,依此类推 这是一种前瞻性的表现吗?有没有办法避免它(可能在链接上设置属性?)问题是,我菜单中的第二个页面有些重,因为它从web服务加载了大量数据。如果人们想使用这个功能,我很乐意这样做,但我不希望每个首页的访问者都

我正在一个新网站上工作。在测试某些功能时,我有许多调试语句,并在查看日志。看起来Firefox(至少)会加载菜单中的“下一页”页面以及我单击的页面。如果我有菜单项A B C D E并单击B,那么我会看到对mysite.com/B的请求,然后在日志中看到对mysite.com/C的请求,依此类推


这是一种前瞻性的表现吗?有没有办法避免它(可能在链接上设置属性?)问题是,我菜单中的第二个页面有些重,因为它从web服务加载了大量数据。如果人们想使用这个功能,我很乐意这样做,但我不希望每个首页的访问者都不必要地加载它。这在浏览器中是一致的吗?

是的,它被称为预取。它可以在客户端中关闭,请参阅常见问题解答:

https://developer.mozilla.org/en-US/docs/Link_prefetching_FAQ

我不知道如何通过服务器将其关闭是的,Firefox将预取链接以提高用户的感知性能。您可以在此处阅读有关Firefox功能的更多信息

无法在客户端浏览器中禁用此功能,但是请求应包含标题
X-moz:prefetch
,您可以使用该标题确定它是否为预回迁请求,并可能为预回迁请求返回空白页。然后,您可以使用
缓存控制:必须重新验证
,以确保页面在用户实际请求时正确加载

如果您碰巧正在为您的站点使用Worpdress,您可以使用以下方法禁用带有预取信息的标记:

WordPress3.0+

//remove auto loading rel=next post link in header
remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');
旧版本:

//remove auto loading rel=next post link in header
remove_action('wp_head', 'adjacent_posts_rel_link');

谢谢你的链接。我现在知道是链接rel=“next”(wordpress ahd自动添加到页面标题)导致了它,因此通过删除该链接,我应该能够关闭此功能。我猜你在使用wordpress-我编辑了我的答案,以包含从标题中删除标记的代码,您只需要包含一个适合您的版本。在你的函数中包含它。phpThanks,是的,一旦我们知道我们在寻找什么,我们也找到了代码。现在已经删除了链接:)我正在创建一个插件,在那里我需要防止预取。因为我正在构建一个插件,所以我不能触摸wordpress中的其他部分(比如页眉)。在插件中禁用预取的方法是什么。我不明白为什么你不能从插件中调用上面列出的删除操作。在我的例子中,我是在主题中的functions.php中完成的,但是pojunt是,这是一个操作,因此您可以从任何地方取消它的计划(您可能需要在另一个操作中执行此操作,以便它在操作设置之后和调用之前运行)