Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Touch screen (сенсоры) и js (https://javascript.ru/forum/misc/24114-touch-screen-sensory-i-js.html)

fonzo24 18.12.2011 05:07

Touch screen (сенсоры) и js
 
Возможно ли определить средствами js ,какой дисплей у зашедшего на веб страничку устройсва, сенсорный или нет? Весь гугл обшарил, ответа на этот вопрос так и ненашёл :(

FINoM 18.12.2011 05:27

Можно проверять ОС.

fonzo24 19.12.2011 17:39

Но ведь в js можно определить разрешение экрана в точках, значит наверно можно проверить сенсор или нет!

vflash 19.12.2011 17:54

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

можно ожидать события Touch от экрана.

ASerputko 19.12.2011 20:32

Конечно можно. Хотя бы так:
var supportsTouch = ('ontouchstart' in document.documentElement);
Если поддерживает, то supportsTouch вернет true, если нет - false.

dmitriymar 19.12.2011 21:17

а зачем? всё равно события дублем пишутся.
а если в учёт взять девайсы типа мышь,клава -то проверка сама по себе глупа изначально

fonzo24 24.12.2011 11:35

Цитата:

Сообщение от ASerputko (Сообщение 144529)
Конечно можно. Хотя бы так:
var supportsTouch = ('ontouchstart' in document.documentElement);
Если поддерживает, то supportsTouch вернет true, если нет - false.

Даже на сенсорном телефоне нокиа 5230 возвращает false, а должен возвращать истину, почему?

dmitriymar 24.12.2011 11:39

Цитата:

Сообщение от fonzo24
Даже на сенсорном телефоне нокиа 5230 возвращает false, а должен возвращать истину, почему?

да почему должен? браузер на телефоне ещё должен в полной мере поддерживать тачи.
да,телефон 2009 года.... этим всё сказано....

gosha-lin 16.07.2012 15:41

Все просто... Отработает правильно в 99% случаев.

<html>
<head><title>Сенсорный экран или Мышь?</title></head>
<body>
<div id='test' onmousemove='GetPad(event);' onclick='if(IsPad == true) Show2(); else Show1(); '>ТКНИ СЮДА</div>

<script type='text/javascript'>
x1=0;x2=0;x3=0;y1=0;y2=0;y3=0;IsPad = true;
function GetPad(ev)
{
	    if (document.all)
	      {//IE
	       x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
	       y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
	       x += window.event.clientX;
	       y += window.event.clientY;
	      }
	    else
	      {//Good Browsers
	       x = ev.pageX;
	       y = ev.pageY;
	      }
x1=x2;x2=x3;x3=x;
y1=y2;y2=y3;y3=y;

if(x1>0 && x2>0 && x3>0 && y1>0 && y2>0 && y3>0) IsPad = false;

}

function Show1(){
x1=0;x2=0;x3=0;y1=0;y2=0;y3=0;IsPad = true;
document.getElementById("test").innerHTML="МЫШЬ";}

function Show2(){
x1=0;x2=0;x3=0;y1=0;y2=0;y3=0;IsPad = true;
document.getElementById("test").innerHTML="СЕНСОР";}
</script>
</body>
</html>

Mikle 04.10.2012 11:16

Ай, да Гоша, ай да сукин сын :)


Часовой пояс GMT +3, время: 13:28.