2012-05-03 3 views
1

Я видел различные статьи и сообщения о том, как использовать PHP tp для поиска поискового запроса, используемого для поиска сайта. Например,Захват поисковых запросов с помощью javascript/jquery

Capture search engine keywords in php

Как я могу также сделать это с помощью JavaScript/JQuery?

В конечном счете, я хочу взять ключевые слова и использовать их для запроса AJAX, который я уже написал и работал (для чего-то другого подобного, но другого).

Примечание: Это новая область для меня, поэтому введите медленно, ложка подавайте ее, и если вы можете, ссылки на более подробную информацию всегда оцениваются.

ответ

2

Вы можете использовать document.referrer, чтобы получить URL предыдущей страницы URL следующим образом:

console.log(document.referrer); 

будет выводить что-то вроде:

http://www.google.com/search?hl=en&q=stack+overflow&aq=0&oq=stack+over&aqi=g10 

просто кормить вашего AJAX.

+0

Это здорово. Спасибо. –

-1

Короткий ответ: вы не можете.

EDIT: Ну, вы можете. Моя вина. См. Ответ document.referrer. Мой последний пункт все еще действителен.

Расширенная версия: Javascript работает на стороне клиента, а PHP работает на веб-сервере. Следовательно, PHP имеет доступ к переменным среды, таким как HTTP-референт, и может извлекать его части. В любом случае вам необходимо предоставить некоторую информацию вместе с вашим сайтом (например, скрытые поля), которые, в свою очередь, могут обрабатываться через javascript.

Кроме того, ваш запрос ajax (вы догадываетесь) вызывает вызов серверного сценария. Таким образом, вы можете использовать логику этого скрипта в сценарии доставки своего веб-сайта.

1

Использование регулярных выражений от вопроса вы связаны, эта функция возвращает массив ключевых слов, используемых для поиска текущей страницы или пустой массив:

function parse_keywords(url){ 
    var matches = url.match(/.*(?:\?p=|\?q=|&q=|\?s=)([a-zA-Z0-9 +]*)(?:&toggle=|&ie=utf-8|&FORM=|&aq=|&x=|&gwp)/); 
    return matches ? matches[1].split('+') : []; 
} 

console.log(parse_keywords(document.referrer)); // Get keywords from referrer 
console.log(parse_keywords('http://www.google.com/search?hl=en&q=stack+overflow&aq=0&oq=stack+over&aqi=g10')); // Or any given url 
Смежные вопросы