Список форумов www.kytoon.com  Список форумов www.kytoon.com  
  www.kytoon.com
    Поиск  Поиск   Пользователи  Пользователи   Группы  Группы
 
Регистрация  ::  Вход Войти и проверить личные сообщения
 
Список форумов www.kytoon.com » Sutra TDS и TS » перенаправление с дорвеев на Sutra, код на javascript

Начать новую тему  Ответить на тему На страницу 1, 2, 3, 4, 5  След.
 перенаправление с дорвеев на Sutra, код на javascript
Автор Сообщение
Begemot
СообщениеДобавлено: Чт Ноя 24, 2005 4:42 pm    Заголовок сообщения: перенаправление с дорвеев на Sutra, код на javascript Ответить с цитатой

Site Admin

Зарегистрирован: 13.03.2005
Сообщения: 471

Эти данные устарели.
На данный момент Sutra умеет сама парсить реферы и выдирать из них поисковик и кейворд.
Подробнее читайте в документации Sutra в раделе "код для размещения на дорвее"





схема перенаправления с поисковика на "пункт назначения" такая:

(поисковик)->(дорвей)->(Sutra)->(пункт назначения)

Нашей задачей является следующее:
1. на дорвее узнать искомое ключевое слово (независимо от поисковика)
2. перенаправить посетителя с дорвея на Sutra передавая в параметре искомое ключевое слово из п.1.

на javascript.

После тщетных попыток найти готовый javascript для большинства поисковиков, я написал его сам. Код претендует на самый короткий существующий Smile
Вот он:

<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&parameter="+r.substring(q+2+t.length).split("&")[0];
</script>


PS: копирование кода на форум или другое публичное место, разрешено только при наличии ссылки на этот топик Very Happy


Последний раз редактировалось: Begemot (Пн Май 19, 2008 9:35 pm), всего редактировалось 3 раз(а)
Вернуться к началу
Burzuy
СообщениеДобавлено: Сб Апр 29, 2006 2:21 am    Заголовок сообщения: Ответить с цитатой



Зарегистрирован: 29.04.2006
Сообщения: 1

Часа два сидел парился так как вобще не знаю джаву после долгих проб и ошибок получилось доработать Smile

<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&parameter="+r.substring(q+2+t.length).split("&")[0];
}
else
{
var so="cash";
window.location="http://domen.com/in.cgi?10&parameter="+so;
}
</script>


Если запрос не определен отправляет по запросу указанному в so
Надеюсь правильно зделал Smile
Вернуться к началу
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&parameter="+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&parameter="+so;
}

Begemot , спасибо за терпение Wink, софт просто отличный !
Вернуться к началу
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 писал(а):
Спасибо парни! отличный скрипт. А как сделать чтобы результат этого скрипта, тоесть то уже куда средиректит сутра открывался прямо во фрейме на доре, то есть чтоб у серфера не менялось в адресной строке ничего. хелп ми.. спасибо


Скажите пожалуйста, как это реализовать ? Rolling Eyes Аналогично, нужно отображать "ответ" 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&parameter="+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&parameter="+k;

прописать
Код:
g="http://sutra.com/in.cgi?2&HTTP_REFERER="+encodeURIComponent(u)+";"+se+";"+k.split("+").join("%20").split("%20").join("%2B")+"&ur=1&parameter=заданный_параметр";


Последний раз редактировалось: Begemot (Вс Авг 06, 2006 9:51 pm), всего редактировалось 1 раз
Вернуться к началу
Kosmos
СообщениеДобавлено: Сб Авг 05, 2006 2:17 pm    Заголовок сообщения: Ответить с цитатой



Зарегистрирован: 05.08.2006
Сообщения: 2

Хелп плз, я в яве не силен Smile)! Я использую для передачи реферера строчку вида:
Код:
window.location="http://sutra.com/in.cgi?2&HTTP_REFERER="+se+";"+r.substring(q+2+t.length).split("&")[0]+";"+u+"&ur=1&parameter="+escape(top.document.location);

Если "+r.substring(q+2+t.length).split("&")[0]+" односложный запрос то все ок, в админке имеем реферер:
Код:
google;porn;http://www.ref-url.com

но при двухсловном и более запросе ( т.е. присутствует пробел ) например "free porn" реферер в админке имее вид:
Код:
google;free

т.е. режет по пробелу, помогите плиз решить трабл.
Вернуться к началу
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&parameter="+escape(top.document.location);

при этом пробелы будут заменяться на "+" что, думаю, вполне устроит Smile
Вернуться к началу
Kosmos
СообщениеДобавлено: Пн Авг 07, 2006 7:39 am    Заголовок сообщения: Ответить с цитатой



Зарегистрирован: 05.08.2006
Сообщения: 2

Begemot большое спасибо ! С "+" устроит более чем Smile
Вернуться к началу
Показать сообщения:   
Начать новую тему  Ответить на тему На страницу 1, 2, 3, 4, 5  След. Страница 1 из 5

Список форумов www.kytoon.com » Sutra TDS и TS » перенаправление с дорвеев на Sutra, код на javascript



 
 


DAJ Glass (1.0.5) template by Dustin Baccetti
EQ graphic based off of a design from www.freeclipart.nu
Powered by phpBB © 2001, 2002 phpBB Group