2011-03-21 2 views
2

Недавно я получил запрос, чтобы определить, включена ли предварительная выборка браузера пользователя. Я обыскал вокруг, но я вышел пустым. Любые мысли о том, как выполнить эту задачу? Я просмотрел трафик в заголовке, и я не вижу ничего в запросе, который указывает, что предварительная выборка включена.Определение того, включена ли предварительная выборка на стороне клиента

+0

Ваш сервер должен будет обнаружить шаблон. Я серьезно сомневаюсь, что это можно сделать из клиентского кода. Firefox отправляет заголовок, когда он предварительно выбирает («X-moz: prefetch»). – Pointy

ответ

2

Путь <link href="myTester.xxx" rel="prefetch" /> в голову.

В каких бы то ни было ручках для myTester.xxx (что, скорее всего, myTester.php, myTester.aspx и т. Д.) Установили флаг в сеансе (если вы уже используете сеансы и, следовательно, нет никакого штрафа за сделав это) или установите файл cookie. Сделайте ответ v. Small (пустой будет хорошо).

В режиме onload установите задержку (используйте команду setTimeout) для извлечения файла XML или JSON из myTesterResult.xxx, который имеет другой результат в зависимости от этого значения сеанса или файла cookie.

В качестве альтернативы, если вам не нужно, чтобы на эту страницу реагировали, на каком-либо скрипте на стороне клиента вообще нет необходимости, последующий скрипт на стороне сервера сможет использовать сеанс или файл cookie, если это необходимо.

0

2-е мнение, что клиент, вероятно, не может этого сделать. Одним из возможных решений являются добавление предвыборки на страницу, означающую упреждающая выборка включена, например .:

<link rel="prefetch" href="/hasPrefetching.php"> 

Если вам нужно знать, на сервере, теперь у вас есть информация. Если вам нужно знать на клиенте, вы можете опросить его через некоторое время.

Смежные вопросы