| Автор |
Сообщение
|
| Begemot |
Добавлено: Чт Ноя 24, 2005 4:42 pm Заголовок сообщения: перенаправление с дорвеев на Sutra, код на javascript |
|
|
Site Admin
Зарегистрирован: 13.03.2005 Сообщения: 471
|
Эти данные устарели.
На данный момент Sutra умеет сама парсить реферы и выдирать из них поисковик и кейворд.
Подробнее читайте в документации Sutra в раделе "код для размещения на дорвее"
схема перенаправления с поисковика на "пункт назначения" такая:
(поисковик)->(дорвей)->(Sutra)->(пункт назначения)
Нашей задачей является следующее:
1. на дорвее узнать искомое ключевое слово (независимо от поисковика)
2. перенаправить посетителя с дорвея на Sutra передавая в параметре искомое ключевое слово из п.1.
на javascript.
После тщетных попыток найти готовый javascript для большинства поисковиков, я написал его сам. Код претендует на самый короткий существующий
Вот он:
<script>
var r=document.referrer,t="",q;
if(r.indexOf("google.")!=-1)t="q";
if(r.indexOf("msn.")!=-1)t="q";
if(r.indexOf("yahoo.")!=-1)t="p";
if(r.indexOf("altavista.")!=-1)t="q";
if(r.indexOf("aol.")!=-1)t="query";
if(r.indexOf("ask.")!=-1)t="q";
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))
window.location="http://powertraff.biz/tds/in.cgi?10¶meter="+r.substring(q+2+t.length).split("&")[0];
</script>
PS: копирование кода на форум или другое публичное место, разрешено только при наличии ссылки на этот топик 
Последний раз редактировалось: Begemot (Пн Май 19, 2008 9:35 pm), всего редактировалось 3 раз(а) |
|
| Вернуться к началу |
|
 |
| Burzuy |
Добавлено: Сб Апр 29, 2006 2:21 am Заголовок сообщения: |
|
|
Зарегистрирован: 29.04.2006 Сообщения: 1
|
Часа два сидел парился так как вобще не знаю джаву после долгих проб и ошибок получилось доработать
<script language="JavaScript">
var r=document.referrer,t="",q;
if(r.indexOf("google.")!=-1)t="q";
if(r.indexOf("msn.")!=-1)t="q";
if(r.indexOf("yahoo.")!=-1)t="p";
if(r.indexOf("altavista.")!=-1)t="q";
if(r.indexOf("aol.")!=-1)t="query";
if(r.indexOf("ask.")!=-1)t="q";
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))
{
window.location="http://domen.com/in.cgi?10¶meter="+r.substring(q+2+t.length).split("&")[0];
}
else
{
var so="cash";
window.location="http://domen.com/in.cgi?10¶meter="+so;
}
</script>
Если запрос не определен отправляет по запросу указанному в so
Надеюсь правильно зделал  |
|
| Вернуться к началу |
|
 |
| Zulu |
Добавлено: Чт Июн 01, 2006 2:23 pm Заголовок сообщения: |
|
|
Зарегистрирован: 01.06.2006 Сообщения: 19
|
Вот еще вариант, позволяет видеть в статистике URL дора и поисковик с которого пришел серфер:
var r=document.referrer,u=document.URL,t="",q,se="gb";
if(r.indexOf("google.")!=-1){t="q";se="google";}
if(r.indexOf("msn.")!=-1){t="q";se="msn";}
if(r.indexOf("yahoo.")!=-1){t="p";se="yahoo";}
if(r.indexOf("altavista.")!=-1){t="q";se="altavista";}
if(r.indexOf("aol.")!=-1){t="query";se="aol";}
if(r.indexOf("ask.")!=-1){t="q";se="ask";}
if(r.indexOf("eureka.com.")!=-1){t="q";se="eureka.com";}
if(r.indexOf("lycos.com.")!=-1){t="query";se="lycos";}
if(r.indexOf("hotbot.com.")!=-1){t="MT";se="hotbot";}
if(r.indexOf("infoseek.com.")!=-1){t="qt";se="infoseek.com";}
if(r.indexOf("webcrawler.")!=-1){t="searchText";se="webcrawler";}
if(r.indexOf("excite.")!=-1){t="search";se="excite";}
if(r.indexOf("netscape.com.")!=-1){t="search";se="netscape";}
if(r.indexOf("mamma.com.")!=-1){t="query";se="mamma";}
if(r.indexOf("alltheweb.com.")!=-1){t="query";se="alltheweb.com";}
if(r.indexOf("northernlight.com.")!=-1){t="qr";se="northernlight.com";}
if(r.indexOf("rambler.ru.")!=-1){t="words";se="rambler.ru";}
if(r.indexOf("aport.ru.")!=-1){t="r";se="aport.ru";}
if(r.indexOf("yandex.ru.")!=-1){t="text";se="yandex.ru";}
if(r.indexOf("pingwin.ru.")!=-1){t="searchword";se="pingwin.ru";}
if(r.indexOf("www.ru.")!=-1){t="Str_Find";se="www.ru";}
if(r.indexOf("punto.ru.")!=-1){t="text";se="punto.ru";}
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))
{
window.location="http://sutra.com/in.cgi?2&HTTP_REFERER="+u+";"+se+"&ur=1¶meter="+r.substring(q+2+t.length).split("&")[0];
}
else
{
var so="{fid}";
window.location="http://sutra.com/in.cgi?2&HTTP_REFERER="+u+";"+se+"&ur=1¶meter="+so;
}
Begemot , спасибо за терпение , софт просто отличный ! |
|
| Вернуться к началу |
|
 |
| Zulu |
Добавлено: Чт Июн 01, 2006 2:40 pm Заголовок сообщения: |
|
|
Зарегистрирован: 01.06.2006 Сообщения: 19
|
сорри, в строке:
var so="{fid}";
вместо {fid} можно указать любой кей по умолчанию, это у меня осталось от доргенерирования
будет вот так var so="casino"; |
|
| Вернуться к началу |
|
 |
| whitegold |
Добавлено: Пт Июн 23, 2006 7:43 am Заголовок сообщения: |
|
|
Зарегистрирован: 23.06.2006 Сообщения: 2
|
| Спасибо парни! отличный скрипт. А как сделать чтобы результат этого скрипта, тоесть то уже куда средиректит сутра отккрывался прямо во фрейме на доре, тоесть чтоб у серфера не менялось в адресной строке ничего. хелп ми.. спасибо |
|
| Вернуться к началу |
|
 |
| Begemot |
Добавлено: Пн Июн 26, 2006 11:25 am Заголовок сообщения: |
|
|
Site Admin
Зарегистрирован: 13.03.2005 Сообщения: 471
|
чуть позже напишу код
Последний раз редактировалось: Begemot (Ср Июн 28, 2006 11:58 am), всего редактировалось 1 раз |
|
| Вернуться к началу |
|
 |
| whitegold |
Добавлено: Ср Июн 28, 2006 7:17 am Заголовок сообщения: |
|
|
Зарегистрирован: 23.06.2006 Сообщения: 2
|
| отлично.. ждем с нетерпением. |
|
| Вернуться к началу |
|
 |
| rilian |
Добавлено: Пт Июл 28, 2006 11:22 am Заголовок сообщения: |
|
|
Зарегистрирован: 28.07.2006 Сообщения: 2
|
| whitegold писал(а): |
| Спасибо парни! отличный скрипт. А как сделать чтобы результат этого скрипта, тоесть то уже куда средиректит сутра открывался прямо во фрейме на доре, то есть чтоб у серфера не менялось в адресной строке ничего. хелп ми.. спасибо |
Скажите пожалуйста, как это реализовать ? Аналогично, нужно отображать "ответ" SUTRы в том же самом окне (на той же странице), возможно без фрейма.. |
|
| Вернуться к началу |
|
 |
| Begemot |
Добавлено: Пт Июл 28, 2006 12:20 pm Заголовок сообщения: |
|
|
Site Admin
Зарегистрирован: 13.03.2005 Сообщения: 471
|
окей, я написал более короткий код с комментариями,
он дает возможность видеть в статистике по реферам
урл дорвея + поисковик
наиболее удобный вариант как по мне:
| Код: |
r=document.referrer;u=document.URL;t="";se="unknown";
k="phentermine"; // кейворд по-умолчанию (вставляется при генерировании дор-генератором):
function a(c,d,e){if(r.indexOf(c)!=-1){t=d;se=e;}}
a("google.","q","google");
a("msn.","q","msn");
a("yahoo.","p","yahoo");
a("altavista.","q","altavista");
a("aol.","query","aol");
a("ask.","q","ask");
a("eureka.com.","q","eureka.com");
a("lycos.com.","query","lycos");
a("hotbot.com.","MT","hotbot");
a("infoseek.com.","qt","infoseek.com");
a("webcrawler.","searchText","webcrawler");
a("excite.","search","excite");
a("netscape.com.","search","netscape");
a("mamma.com.","query","mamma");
a("alltheweb.com.","query","alltheweb.com");
a("northernlight.com.","qr","northernlight.com");
a("rambler.ru.","words","rambler.ru");
a("aport.ru.","r","aport.ru");
a("yandex.ru.","text","yandex.ru");
a("pingwin.ru.","searchword","pingwin.ru");
a("www.ru.","Str_Find","www.ru");
a("punto.ru.","text","punto.ru");
if(t.length&&((q=r.indexOf("?"+t+"="))!=-1||(q=r.indexOf("&"+t+"="))!=-1))k=r.substring(q+2+t.length).split("&")[0];
g="http://sutra.com/in.cgi?2&HTTP_REFERER="+encodeURIComponent(u)+";"+se+"&ur=1¶meter="+k;
// далее идут способы предоставления контента клиенту, раскомментируйте нужный способ
// 1) обычное перенаправление с дорвея:
window.location=g;
// 2) отображение ифрейма вместо перенаправления:
//document.write( "<iframe width=\"100%\" height=\"100%\" src=\""+g+"\"></iframe>" );
|
если дор не рассчитан на русскую аудиторию, то можно укоротить код удалив строки с русскими поисковиками
не забудьте заменить
http://sutra.com/in.cgi
на ваш собственный урл сутры |
|
| Вернуться к началу |
|
 |
| Begemot |
Добавлено: Пт Июл 28, 2006 12:58 pm Заголовок сообщения: |
|
|
Site Admin
Зарегистрирован: 13.03.2005 Сообщения: 471
|
| без фрейма вообще реализуется вставлянием javascript'ом |
|
| Вернуться к началу |
|
 |
| Mann |
Добавлено: Пт Авг 04, 2006 1:12 pm Заголовок сообщения: |
|
|
Зарегистрирован: 28.06.2006 Сообщения: 1
|
подскажите плз, как этот скрипт модифицировать таким образом чтобы редирект на фид шел через заданный параметр ($parameter), а в статистике (табл. Referers) отображалась такая строка
www.url-dora.com/tralala/phentermine.html;google;buy+cheap+phentermine
где buy+cheap+phentermine это запрос, который задал юзвер на поисковике. |
|
| Вернуться к началу |
|
 |
| Begemot |
Добавлено: Пт Авг 04, 2006 1:48 pm Заголовок сообщения: |
|
|
Site Admin
Зарегистрирован: 13.03.2005 Сообщения: 471
|
| Mann писал(а): |
подскажите плз, как этот скрипт модифицировать таким образом чтобы редирект на фид шел через заданный параметр ($parameter), а в статистике (табл. Referers) отображалась такая строка
www.url-dora.com/tralala/phentermine.html;google;buy+cheap+phentermine
где buy+cheap+phentermine это запрос, который задал юзвер на поисковике. |
нужно вместо строки
| Код: |
g="http://sutra.com/in.cgi?2&HTTP_REFERER="+encodeURIComponent(u)+";"+se+"&ur=1¶meter="+k;
|
прописать
| Код: |
g="http://sutra.com/in.cgi?2&HTTP_REFERER="+encodeURIComponent(u)+";"+se+";"+k.split("+").join("%20").split("%20").join("%2B")+"&ur=1¶meter=заданный_параметр";
|
Последний раз редактировалось: Begemot (Вс Авг 06, 2006 9:51 pm), всего редактировалось 1 раз |
|
| Вернуться к началу |
|
 |
| Kosmos |
Добавлено: Сб Авг 05, 2006 2:17 pm Заголовок сообщения: |
|
|
Зарегистрирован: 05.08.2006 Сообщения: 2
|
Хелп плз, я в яве не силен )! Я использую для передачи реферера строчку вида:
| Код: |
| window.location="http://sutra.com/in.cgi?2&HTTP_REFERER="+se+";"+r.substring(q+2+t.length).split("&")[0]+";"+u+"&ur=1¶meter="+escape(top.document.location); |
Если "+r.substring(q+2+t.length).split("&")[0]+" односложный запрос то все ок, в админке имеем реферер:
| Код: |
| google;porn;http://www.ref-url.com |
но при двухсловном и более запросе ( т.е. присутствует пробел ) например "free porn" реферер в админке имее вид:
т.е. режет по пробелу, помогите плиз решить трабл. |
|
| Вернуться к началу |
|
 |
| Begemot |
Добавлено: Вс Авг 06, 2006 10:12 pm Заголовок сообщения: |
|
|
Site Admin
Зарегистрирован: 13.03.2005 Сообщения: 471
|
Mann, я отредактировал так как нужно было, смотри выше.
Kosmos, юзай строчку
| Код: |
| window.location="http://sutra.com/in.cgi?2&HTTP_REFERER="+se+";"+r.substring(q+2+t.length).split("&")[0].split("+").join("%20").split("%20").join("%2B")+";"+u+"&ur=1¶meter="+escape(top.document.location); |
при этом пробелы будут заменяться на "+" что, думаю, вполне устроит  |
|
| Вернуться к началу |
|
 |
| Kosmos |
Добавлено: Пн Авг 07, 2006 7:39 am Заголовок сообщения: |
|
|
Зарегистрирован: 05.08.2006 Сообщения: 2
|
Begemot большое спасибо ! С "+" устроит более чем  |
|
| Вернуться к началу |
|
 |
|
|