Как веб-сайт выделяет критерии поиска, которые Вы использовали в поисковой системе?

Я видел, что некоторые веб-сайты выделяют ключевые слова поисковой системы, которые Вы использовали, для достижения страницы. (такие как ключевые слова Вы ввели в поиске Google, перечисляющем),

Как это знает, какие ключевые слова Вы ввели в поисковой системе? Это исследует HTTP-заголовок ссылающегося домена или что-то? Какие-либо доступные сценарии, которые могут сделать это? Это могла бы быть серверная сторона или JavaScript, я не уверен.

9
задан YakovL 27 August 2019 в 16:28
поделиться

3 ответа

Это может быть выполнено на стороне сервера или клиента. Ключевые слова для поиска определяются по заголовку HTTP Referer (sic). В JavaScript вы можете посмотреть document.referrer .

Когда у вас есть реферер, вы проверяете, не знакома ли вам страница результатов поисковой системы, а затем анализируете условия поиска.

Например, в результатах поиска Google есть URL-адреса, которые выглядят следующим образом:

http://www.google.com/search?hl=en&q=programming+questions

Параметр запроса q - это поисковый запрос, поэтому вам нужно вытащить его и отключить URL-экранирование, в результате in:

programming questions

Затем вы можете искать термины на своей странице и при необходимости выделять их. Если вы делаете это на стороне сервера, вы должны изменить HTML перед его отправкой клиенту. Если вы делаете это на стороне клиента, вы манипулируете DOM.

12
ответ дан 4 December 2019 в 09:14
поделиться

Понимая, что это, вероятно, слишком поздно, чтобы что-то изменить ...

Пожалуйста , Я прошу вас - узнайте, как это сделать, и тогда никогда не делайте этого. Как веб-пользователь, я нахожу очень раздражающим (и отвлекающим), когда я натыкаюсь на сайт, который делает это автоматически. В большинстве случаев он просто выделяет каждое слово на странице. Если мне нужна помощь в поиске определенного слова на странице, мой браузер имеет гораздо более подходящую встроенную функцию "поиска", которую я могу использовать или не использовать по своему желанию, вместо того, чтобы перезагружать всю страницу, чтобы заставить ее работать. прочь, когда я не

8
ответ дан 4 December 2019 в 09:14
поделиться

По сути, вы ...

  1. Изучите document.referrer .
  2. У вас есть список доменов для параметра GET, который содержит условия поиска.

     var searchEnginesToGetParam = {
     'google.com': 'q',
     'bing.com': 'q'
    }
    
  3. Извлеките соответствующий параметр GET и decodeURIComponent () его.

  4. Разберите текстовые узлы, в которых вы хотите выделить термины (см. Замена текста на JavaScript ).
  5. Готово!
3
ответ дан 4 December 2019 в 09:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: