2012-09-21 21 views
1

我正在一個新網站上工作。在測試一些功能時,我有很多調試語句,並且正在觀察日誌。似乎Firefox(至少)加載菜單中的「下一頁」以及我點擊過的頁面。如果我有菜單項A B C D E並點擊B,則我看到mysite.com/B的請求,然後在日誌中看到對mysite.com/C的請求,依此類推。爲什麼Firefox總是加載菜單中的下一頁以及我請求的頁面?

這是一種預見性能的東西嗎?有沒有什麼辦法可以避免它(在鏈接上設置一個屬性呢?)問題是,我的菜單中的第二頁有點沉重,因爲它從Web服務加載了大量數據。我很高興人們這樣做,如果他們想使用這些功能,而不是每個訪問頭版的訪問者都不需要加載它。瀏覽器的這個behvaiour是否一致?

回答

3

是,Firefox將預取的聯繫,提高感知性能給用戶。你可以閱讀更多關於Firefox中的功能在這裏https://developer.mozilla.org/en-US/docs/Link_prefetching_FAQ

這是不可能在客戶端的瀏覽器禁用此,但該請求應該包含頭X-moz: prefetch,你可以用它來確定它是否是實際上是一個預取請求或者不是,並且可能返回預取請求的空白頁面。然後,您可以使用Cache-control: must-revalidate確保在用戶實際請求時正確加載頁面。

如果你碰巧使用Worpdress爲您的網站,您可以通過使用禁用與所述預取信息的標籤:

的WordPress 3.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'); 
+0

感謝您的鏈接。我現在看到,它是鏈接rel =「next」(哪個wordpress ahd自動添加到頁面標題)導致它,所以通過刪除我應該能夠關閉此功能。 – Adam

+2

我猜你正在使用Wordpress - 我編輯了我的答案,以包含從標題中移除標記的代碼,只需要包含適合您的版本的代碼即可。將它包含在你的functions.php – doublesharp

+0

謝謝,是的,一旦我們知道我們在尋找什麼,我們也會發現這些代碼。現在已經刪除鏈接:) – Adam

0

是的,它被稱爲預取。它可以在客戶端被關閉,請參閱常見問題解答:

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

我不知道的方式通過服務器把它關掉

相關問題