PHP+Com+CapsLock

phpshNICK

Guest
PHP+Com+CapsLock

Здрасте всем. Помню где то когда то встречал скрипт который определял включон ли у пользователя CapsLock. Смотрел в мане, не нашел. Может у кого то есть или в сети натыкался - поделитесь, плизззз.
 

Alexandre

PHPПенсионер
white phoenix при чем здесь это
локальный запуск php
ясно сказанно, нужно определить на стороне браузера,
включон ли у пользователя CapsLock
Это определяется средствами JavaScript. т.к. в самом JavaScript нет таких средств, то пишется простой Com, который определяет нажатие клавиши и отдает это значение в JavaScript.

былобы интерестно, зачем это нужно с практической точки зрения?
 

Akick

Новичок
Автор оригинала: Alexandre
былобы интерестно, зачем это нужно с практической точки зрения?
Как вариант - выдать предупреждение о том, что включен Капс при вводе юзером пароля.
 

phpshNICK

Guest
Akick, именно. Всем спасибо уже нашел по поисковику
 

kruglov

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

beba

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

SiMM

Новичок
> Лично я даже не предупреждаю, а сразу пускаю.
А если и заморачиваться, то в случае несовпадения пароля достаточно выдать что-либо "ошибка - неверно набран логин, неверный пароль, нажат Caps Lock или выбрана неправильная раскладка".
 

Alexandre

PHPПенсионер
сказанно у пользователя, а не на стороне броузера
white phoenix , дорогой, чем отличается у пользователя от на стороне браузера?
или уже браузерами пользователи не пользуются?
phpshNICK - поделился бы решением с народом, а то через два дня кто нибудь залезет в форум, найдет по поиску этот топик, вот и приплыли - а решения-то НЕТ?
 

dorfey

Guest
white phoenix
своими глупыми ответами набивает себе счетчик.
таких в бан нужно отправлять ;)
 

zap

Guest
вообще я думаю вопрос по JavaScript, туда и перенести!
 

phpshNICK

Guest
Да вопросик в самом деле по JS. Виноват не туда занес.

вот решение:
файл capslock.js
PHP:
function _capsLockDetect(e)
{
 if (!e) e = window.event || null;
 
 if (typeof(oncapslock)!="function" || !e) return;
 
 var n = e.keyCode?e.keyCode:e.charCode;
	
 if (e.type=="keypress")
 {
	var c = String.fromCharCode(n);
	var cUC = c.toUpperCase();
	var cLC = c.toLowerCase();
	
	if (cUC!=cLC) oncapslock((e.shiftKey && cLC==c) || (!e.shiftKey && cUC==c));
 }
 else if (e.type=="keydown" && n==20) oncapslock(false);
}

if (document.addEventListener)
{
document.addEventListener("keypress", _capsLockDetect, false);
document.addEventListener("keydown", _capsLockDetect, false);
}
else if (document.attachEvent)
{
document.attachEvent("onkeypress", _capsLockDetect);
document.attachEvent("onkeydown", _capsLockDetect);
}
else document.onkeypress = document.onkeydown = _capsLockDetect;

А вот то что вставляем в хтмл-страницу:
PHP:
<html>
<head>

<script type="text/javascript" src="capslock.js"></script>

<script language="JavaScript">

window.oncapslock = function (on){document.getElementById('capsLock').style.color=on?'red':'white';}

</script>

</head>

<body>

	<span id="capsLock" style="color:white;">Caps Lock</span>

</body>
</html>
 
Сверху