Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Разобрать referrer на хост, аргументы и т.д.


Автор: Rutger 6.10.2004, 10: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=" и "" (ничем)

Спецы помогите плиз!!!

Автор: Guest 6.10.2004, 10:51
тоесть, а редиректит на http://mysite.com/keyword например.., а всех кто невходит в это число редиректит по другому урлу..

Автор: Се ля ви 6.10.2004, 12:05
... может, правила высвечивать comfirm`ом при первом заходе, чтобы люди жали "ОК", типа поняли?..

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

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

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


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

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

Если ответ не понятен, задавай вопрос в раздел для начинающих...

Автор: rutger 6.10.2004, 12:11
дело в том, что я не программист и осваивать программинг у меня нет времени, покрайне мере в данный момент..
Мне нужен реализованный скрипт, могу заплатить 5wmz за него.., за 10 минут работы 150 рублей - номано.., помогите кто-нить..

зы.., а где мне еще искать помощи, кроме как на программерских бордах..

Автор: Се ля ви 6.10.2004, 12:12
тогда пиши в раздел "Работа" - специально для таких вещей... А здесь просто дают советы как что-то делать, а не пишут на заказ...

Автор: Guest 6.10.2004, 12:19
может ты найдешь время? :-) (понимаю что нагло, но все же..)
icq 8053838

Автор: Sardar 8.10.2004, 23:04
Се ля ви если ты хотел выполнить работу, то время я тебе дал wink.gif.
Простейшее решение на скорую руку:
Код
//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;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)