Чи можна зупинити Chrome та інші веб-переглядачі від попереднього вибору / рендерингу мого сайту?


14

Я знаю, що ви можете керувати Chrome для попереднього вибору посилань, на які, на вашу думку, користувачі, ймовірно, натискатимуть ваш сайт , але чи можете ви також зробити зворотний? Чи можете ви сказати Chrome (або насправді будь-якому веб-переглядачу) не попередньо вибирати та не надавати веб-сайт?

Чи є тег чи іншим способом я можу сказати браузерам, що попередньо вибирати посилання з переглянутої сторінки не слід робити?


1
Цікаво, чому ти цього хотів би?
Мартійн

@Martijn Один з випадків, який я можу побачити, коли ваш сайт містить залежний від часу або дуже динамічний вміст, коли затримка між візуалізацією сторінки та користувачем насправді бачить, що це має значення.
Андерс Ф'єльдстад

Відповіді:


12

Chrome і Safari надсилають X-Purpose: previewHTTP-заголовок під час попереднього отримання / візуалізації веб-вмісту. [ Джерело ]

Firefox надсилає аналогічний заголовок під назвою X-moz: prefetch. [ Джерело ]

Щоб заблокувати попереднє отримання, ви можете повернути відповідь 404, коли такі заголовки будуть виявлені, як запропонував Пітер Фрейтаг у цій публікації блогу . Він рекомендує додати ці рядки, .htaccessщоб заблокувати попереднє завантаження Firefox:

RewriteEngine On
SetEnvIf X-moz prefetch HAS_X-moz 
RewriteCond %{ENV:HAS_X-moz} prefetch 
RewriteRule .* /prefetch-attempt [L]

Ви можете розширити це, щоб заблокувати Firefox, Safari та Chrome, попереднє завантаження таким чином (неперевірене, але повинно працювати):

RewriteEngine On
SetEnvIf X-moz prefetch HAS_preview 
SetEnvIf X-Purpose preview HAS_preview
RewriteCond %{ENV:HAS_preview} .
RewriteRule .* /prefetch-attempt [L]


1

Вище відповідь для мене не працював. Однак, що спрацювало:

RewriteEngine On
SetEnvIfNoCase X-Forwarded-For .+ proxy=yes
SetEnvIfNoCase X-moz prefetch no_access=yes

# block pre-fetch requests with X-moz headers
RewriteCond %{ENV:no_access} yes
RewriteRule .* - [F,L]

Від: askapache.com

Прапор [F] повертає до браузера код статусу 403 Заборонено, тоді як [L] вказує, що правило має бути останньою оброблюваною нормою.

Також, схоже, хром більше не попередньо вибирає посилання (принаймні, для мета-тегів попередній / наступний).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.