Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 22.03.2016, 14:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Сообщение от Pobedill
если он перешел с поисковых систем и чтоб ему пришлось кликнуть самому?
непонял ... если клиент не кликнет, то откуда бы он не пришёл, ему придётся кликнуть.
Ответить с цитированием
  #12 (permalink)  
Старый 22.03.2016, 14:39
Аспирант
Отправить личное сообщение для Pobedill Посмотреть профиль Найти все сообщения от Pobedill
 
Регистрация: 10.02.2016
Сообщений: 46

Я о том если клиент зайдет повторно ЧЕРЕЗ ПОИСКОВИК, то чтоб его система восприняла как НОВОГО ПОЛЬЗОВАТЕЛЯ и ему пришлось кликнуть.
Ответить с цитированием
  #13 (permalink)  
Старый 22.03.2016, 14:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Pobedill,
function timeOver(index) {
        if (~document.referrer.indexOf("вставьте нужное")) return false;

        var time = 10000; //10сек заменить на 24 * 60 * 60 * 1000
        return phoneStorage[index] && Date.now() < phoneStorage[index] + time
    }
Ответить с цитированием
  #14 (permalink)  
Старый 22.03.2016, 15:53
Аспирант
Отправить личное сообщение для Pobedill Посмотреть профиль Найти все сообщения от Pobedill
 
Регистрация: 10.02.2016
Сообщений: 46

Сделал так:
$(function() {
    var phoneStorage = localStorage.getItem("phoneStorage") || "{}";
    phoneStorage = JSON.parse(phoneStorage);
 
    function timeOver(index) {
        if (~document.referrer.indexOf("google.com.ua")) return false;
        if (~document.referrer.indexOf("yandex.ua")) return false;
        var time = 300000; //запомнить пользователя на 5 мин.
        return phoneStorage[index] && Date.now() < phoneStorage[index] + time
    }
    $(".phone").each(function(index, element) {
        $(element).click(function() {
            phoneStorage[index] = Date.now();
            localStorage.setItem("phoneStorage", JSON.stringify(phoneStorage));
            $(element).hide().next().slideDown(600)
        });
        timeOver(index) && $(element).hide().next().slideDown(600)
    })
});



Только осталась проблемка. Зашел с поисковика - кликнул - всё нормально. А потом обновил страницу и могу еще кликать.

Последний раз редактировалось Pobedill, 22.03.2016 в 16:08.
Ответить с цитированием
  #15 (permalink)  
Старый 22.03.2016, 18:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Сообщение от Pobedill
Только осталась проблемка. Зашел с поисковика - кликнул - всё нормально. А потом обновил страницу и могу еще кликать.
не понял, обновился и рефера нет
Ответить с цитированием
  #16 (permalink)  
Старый 22.03.2016, 18:39
Аспирант
Отправить личное сообщение для Pobedill Посмотреть профиль Найти все сообщения от Pobedill
 
Регистрация: 10.02.2016
Сообщений: 46

Получилось так, что когда заходишь на страничку с Гугла или Яндекса, то система вообще не запоминает пользователя, а надо чтоб запоминала после первого клика. Чтобы каждый раз заходя с поиска можно было кликнуть один раз.
Ответить с цитированием
  #17 (permalink)  
Старый 22.03.2016, 18:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Pobedill,
не может не запоминатся клик, но если в referrer сидит поисковик ... открытия не будет при заходе. меняйте логику тогда, выстраивайте другой алгоритм.
Ответить с цитированием
  #18 (permalink)  
Старый 22.03.2016, 20:10
Аспирант
Отправить личное сообщение для Pobedill Посмотреть профиль Найти все сообщения от Pobedill
 
Регистрация: 10.02.2016
Сообщений: 46

Так при заходе с поисковика автоматического открытия спойлера и не надо. Как я и хотел, сейчас повторный вход на страницу с поиска воспринимается как новый. Но после клика то система должна его запомнить, а то так можно накрутить сотню кликов...

Как я думаю, нужно чтобы при заходе с поиска как бы очищались данные об этом пользователе в хранилище. И если кто захочет накрутить 100 кликов, ему придется 100 раз выйти в поисковик. Как-то так) Или я сейчас чушь несу?

Последний раз редактировалось Pobedill, 22.03.2016 в 20:16.
Ответить с цитированием
  #19 (permalink)  
Старый 22.03.2016, 20:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

Pobedill,
не осилил, чего вы хотите
Ответить с цитированием
  #20 (permalink)  
Старый 22.03.2016, 21:28
Аспирант
Отправить личное сообщение для Pobedill Посмотреть профиль Найти все сообщения от Pobedill
 
Регистрация: 10.02.2016
Сообщений: 46

Клиент зашел и открыл номер телефона. Я получил деньги за этот клик. Чтобы не было накруток кликов от злоумышленников, мне и нужен был этот скрипт. Но этот скрипт ограничивает повторные клики от клиентов которые пришли с поисковика. Поэтому мы добавили:
if (~document.referrer.indexOf("google.com.ua")) return false;
        if (~document.referrer.indexOf("yandex.ua")) return false;

Но теперь открытая дорога для скликивания после каждой перезагрузки страницы.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Спойлер - сворачивать предыдущий спойлер при открытии нового maxmusicmax Общие вопросы Javascript 6 02.06.2015 22:50
Ответ конкретному клиенту fredwriter AJAX и COMET 2 18.04.2012 13:28
Спойлер в G-Chrome p1653v Opera, Safari и др. 1 06.06.2011 17:44
td.attachEvent('onclick', newrowdelete); Как привязать событие с параметром? serge! Events/DOM/Window 4 23.03.2009 18:38