Разобрать referrer на хост, аргументы и т.д.

 
0
 
JavaScript
ava
guest | 06.10.2004, 11:48
Нужно сделать редирект на сайте, на джава скрипте, немного неординарный, а точнее:

Если человек пришол с гугля или яху, то из рефа выдерается кейворд который он вбивал в поисковик и подставляется в конец урла на который надо редиректить!

Тоесть я как понимаю надо указать что именно в рефе считать кейвордом.

Вот так выглядит гуглевский реф:
www.google.com/search?q=key+word&sourceid=opera&num=0&ie=utf-8&oe=utf-8
Тоесть кейвордом будет считаться записанное между "q=" и "&"

Вот так выглядит яховский реф:
search.yahoo.com/search?fr=fp-pull-web-t&p=key+word
Тоесть кейвордом будет считаться записанное между "p=" и "" (ничем)

Спецы помогите плиз!!!
Comments (6)
ava
guest | 06.10.2004, 10:51 #
тоесть, а редиректит на http://mysite.com/keyword например.., а всех кто невходит в это число редиректит по другому урлу..
ava
Се ля ви | 06.10.2004, 12:05 #
... может, правила высвечивать comfirm`ом при первом заходе, чтобы люди жали "ОК", типа поняли?..

Название темы должно отражать её суть!!! И комментарий должен частично её раскрывать!.. Тут сидят в т.ч. хорошие специалисты, которые имеют свойство работать и быть занятыми, знаком уважения к их занятости задающий вопрос может считать короткое сжатое объяснение темы своего вопроса в названии темы - только тогда он может рассчитывать на скорейший и точный ответ, ну как вы этого не понимаете?..

Когда у человека куча дел и он готов иногда уделить 2-3 минутки для ответа на вопрос новичка, потому что это ему просто приятно иногда помоч людям, он должен максимально быстро "въехать" в его суть, детали чаще всего он итак сам знает...

Эти правила не ханжами написаны, а занятыми людьми!.. :-(


... Твоя проблема решается парсеньем значения переменной location.search, и функцией unescape(), которая преобразует эту последовательность в нормальные символы, а затем присвоением значения переменной location.href - полного адреса редиректа.

Но по-моему гугл не даст скрипту информацию о том, какие слова юзер набрал и эту информацию надо читать из заголовка HTTP-запроса, в котором содержится адрес страницы, с которой юзер перешёл на текущую, что уже относится к серверному программированию - задавай вопрос в форум по Java, PHP или Perl - смотря на чём пишешь серверные сценарии...

Если ответ не понятен, задавай вопрос в раздел для начинающих...
ava
guest | 06.10.2004, 12:11 #
дело в том, что я не программист и осваивать программинг у меня нет времени, покрайне мере в данный момент..
Мне нужен реализованный скрипт, могу заплатить 5wmz за него.., за 10 минут работы 150 рублей - номано.., помогите кто-нить..

зы.., а где мне еще искать помощи, кроме как на программерских бордах..
ava
Се ля ви | 06.10.2004, 12:12 #
тогда пиши в раздел "Работа" - специально для таких вещей... А здесь просто дают советы как что-то делать, а не пишут на заказ...
ava
guest | 06.10.2004, 12:19 #
может ты найдешь время? smile (понимаю что нагло, но все же..)
icq 8053838
ava
Sardar | 08.10.2004, 23:04 #
Се ля ви если ты хотел выполнить работу, то время я тебе дал ;-).
Простейшее решение на скорую руку:
//str="www.google.com/search?q=key+word&sourceid=opera&num=0&ie=utf-8&oe=utf-8";
str="search.yahoo.com/search?fr=fp-pull-web-t&p=key+word";

//здесь описиваются именя переменных для каждого хоста
getKeyWord.hosts={"www.google.com":"q", "search.yahoo.com":"p"};
function getKeyWord(str,sep) {
var srch=str.indexOf("?"), hst=str.indexOf("/");
if(srch<0) return false;
hst=str.substr(0, (hst<0||hst>srch)? srch: hst);
if(!getKeyWord.hosts[hst]) return false;
srch=str.substr(srch+1).split(sep? sep: "&");
for(var i=0; i<srch.length; i++) {
var pr=srch[i].split("=");
if(pr[0]==getKeyWord.hosts[hst]) return pr[1];
}
}
kwd=getKeyWord(str)
//ну а дальше
location.href="www.mysite.com/keyword="+kwd;
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit