Member 13891475 Ответов: 1

Кнопка ограничить количество кликов может быть нажата с помощью файлов cookie!


Эй,

Я хочу ограничить количество кликов, которые можно нажать на кнопку с помощью файлов cookie. Я знаю, что куки-файлы можно просто очистить, но в данном случае это будет нормально.

Так например:

Когда я нажимаю кнопку один время, ничего не случится, я нажимаю снова однако ничего не произойдет, когда я нажму на нее. третий время, когда он установит куки-файл и не позволит нажимать кнопку снова, пока не истечет срок действия куки-файла (может быть, 5 минут?).

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

Заранее спасибо.

Что я уже пробовал:

<script type="text/javascript">
var ClickCount = 0;
function countClicks() {
	var clickLimit = 3; //Max number of clicks
	if(ClickCount>=clickLimit) {
		alert("You can only click this button "+clickLimit+" times.");
		return false;
	}
	else
	{
		ClickCount++;
		return true;
	}
}
</script>

<input type="button" value="Click me only three times!" name="clickThree" onclick="return countClicks();" />

1 Ответов

Рейтинг:
0

Krunal Rohit

Хорошо, это довольно просто с кодом, который вы пробовали. Вам просто нужно установить флаг в файле cookie и установить тайм-аут, чтобы проверить, истек ли срок действия файла cookie или нет.

Вы можете найти методы, которые позволяют вам получать и устанавливать файлы cookie отсюда -
Файлы Cookie JavaScript[^]

JavaScript setTimeout() -
События Синхронизации JavaScript[^]

function countClicks() {
	var clickLimit = 3; //Max number of clicks
	if(ClickCount>=clickLimit) {
       // SET YOUR COOKIE HERE AND DISABLED THE BUTTON
		alert("You can only click this button "+clickLimit+" times.");
		return false;
	}
	else
	{
		ClickCount++;
		return true;
	}
}

// CHECK COOKIE
setTimeout(function(){
// CHECK IF THE COOKIE IS EXISTS AND ENABLE THE BUTTON
}, 1000);


Надеюсь, вы поняли мою мысль.


КР.


Member 13891475

Я понимаю эту идею, но не могу заставить ее работать..

Можете ли вы привести пример на jsfiddle?