0

Я хотел бы вызвать пользователя, щелкнув более 3 ссылок на определенном разделе веб-сайта. Я хотел бы знать, как лучше подойти к этому.Подскажите пользователя после того, как нажали три ссылки на сайт?

Могу ли я сделать это со строго клиентским Javascript? Или для этого потребуется некоторый код на стороне сервера?

Я видел, как это использовалось на нескольких сайтах недвижимости и хотелось бы экспериментировать.

+0

localstorage update для каждого щелчка и возврата при нажатии 3 –

+1

Являются ли они настоящими гиперссылками или они используют AJAX? Если они AJAX, вы можете просто держать счетчик в Javascript. Если это гиперссылки, вам нужно использовать localstorage или файлы cookie. – Barmar

ответ

0

Немного расширенный пример, основанный на коде, найденном в ответе CJ. Рассмотрим у вас есть три файла и ссылки на друг друга в них:

<!-- test1.htm --> 
<a href="test2.htm">Test2</a> 
<a href="test3.htm">Test3</a> 

<!-- test2.htm --> 
<a href="test1.htm">Test1</a> 
<a href="test3.htm">Test3</a> 

<!-- test3.htm --> 
<a href="test1.htm">Test1</a> 
<a href="test2.htm">Test2</a> 

В каждом файле, вы также включили тот же сценарий, отвечающий за подсчет кликов по этим ссылкам. Содержимое скрипта будет выглядеть так:

Это позволит пользователю посетить три ссылки. После этого пользователь получит окно предупреждения о том, что посетил уже три страницы, а e.preventDefault() сохранит пользователя на текущей странице.

Конечно, пользователь может обойти этот вид ограничения, просто удалив соответствующую запись локального хранилища, поэтому, если ваша цель состоит в том, чтобы сделать какую-то блокировку или ограничение, ее следует сделать на стороне сервера, чтобы предотвратить легкое вмешательство пользователя. Если ваша цель - сделать что-то «безвредным» (как, например, функциональность - это то, что пользователи обычно считают полезным), хотя, возможно, все дело на стороне клиента.

+0

Спасибо за разработку. Это очень помогает. – user2109495

1
function UpdateCount() { 
    if (localStorage.clickcount) { 
    if (Number(localStorage.clickcount) > 3) {alert();} 
    localStorage.clickcount = Number(localStorage.clickcount) + 1; 
    } 
    else { 
    localStorage.clickcount=1; 
    } 
} 

И затем вызовите UpdateCount() для события onclick в ваших ссылках.

+0

Удивительный! Спасибо огромное! – user2109495

Смежные вопросы