Отработка js при переходе из ПС

Тема в разделе "JavaScript", создана пользователем Alex777, 6 окт 2013.

Модераторы: ZiX
  1. Alex777

    Alex777 Постоялец

    Регистр.:
    6 дек 2007
    Сообщения:
    78
    Симпатии:
    9
    Реально ли сделать так, чтобы определенный js скрипт на сайте (к примеру <script type="text/javascript" src="script.js"></script>) срабатывал только при переходе из поисковиков, а при прямом посещении сайта - нет? Возможно можно это дело как-то фильтровать по рефереру...
     
  2. esche

    esche

    Регистр.:
    9 авг 2009
    Сообщения:
    360
    Симпатии:
    243
    Вполне возможно... если реферер на страницу содержит yandex.|google. (ещё?..) - в тело страницы добавляем <script...></script>; если не содержит - не добавляем.
    Ещё можно непосредственно в JS реферер использовать
    Код:
    document.referer
     
    Alex777 нравится это.
  3. Alex777

    Alex777 Постоялец

    Регистр.:
    6 дек 2007
    Сообщения:
    78
    Симпатии:
    9
    Если не затруднит - приведи пожалуйста пример организации непосредственно в JS на примере google и yandex. Что-то самое простое, чтобы было понятно где и как в скрипте это использовать.
     
  4. esche

    esche

    Регистр.:
    9 авг 2009
    Сообщения:
    360
    Симпатии:
    243
    Создать в корне сайта файл yandex.html с содержимым
    Код:
    <a href="/yandex.html">go</a>
    <script>
    ref = document.referrer
    if (ref != undefined
     && /yandex|google|rambler/i.test(ref)) {
            alert ('из поисковика');
        } else {
            alert('не из поисковика');
        }
    </script>
    Проверяет на наличие в реферере yandex.
    При первом открытии выведет не из поисковика, при щелчке по ссылке (yandex.html) - "из поисковика".

    Если требуется более точное определение поисковиков - подправить регулярку (с учётом http(s)?://(www\.)? и других вариантов адресов)
     
    Alex777 нравится это.