Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как определить пользователь сам нажал элемент или при помощи функции click(); (https://javascript.ru/forum/dom-window/33935-kak-opredelit-polzovatel-sam-nazhal-ehlement-ili-pri-pomoshhi-funkcii-click-%3B.html)

finlandia 14.12.2012 14:14

Как определить пользователь сам нажал элемент или при помощи функции click();
 
Возможно вопрос глупый или не правильно составленный, но всё же как определить пользователь сам нажал на элемент или про помощи функции click() из внешнего скрипта.

bushstas 18.12.2012 09:02

<div id="SOMEID" onmouseover="VA=this" onmouseout="VA=''" onclick="if(typeof(VA)!=='undefined'){if(VA==this){alert('мышью')}else{alert('скриптом')}}else{alert('скриптом')}">111111111111111</div>



$('#SOMEID').click()


что-то вроде того может быть

finlandia 26.12.2012 19:50

Да похоже на правду, а юзер разве не может изменить принудительно задать значение VA? Попробую покапать в данном направлении, спасибо.

dmitriymar 26.12.2012 20:24

Цитата:

Сообщение от finlandia
а юзер разве не может изменить принудительно задать значение VA

если имеет доступ к коду(изменять и запускать , xss....) -то ничего не поможет
если вопрос о защите от ботов, то тоже подобные ухищрения не помогут/мало эффективны

finlandia 07.01.2013 16:11

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

DjDiablo 07.01.2013 18:53

точно незнаю, но думаю метрике интересны переходы прежде всего.
$('a').on('click',function(){
     alert( $(this).attr('href') );
})

а координаты как мне представляется метрике без надобности.
ну если только координаты кликов для "карты кликов".

как связать незнаю, врядли яндекс хотел бы такой связи.

finlandia 10.01.2013 16:11

Цитата:

Сообщение от DjDiablo (Сообщение 225833)
точно незнаю, но думаю метрике интересны переходы прежде всего.
$('a').on('click',function(){
     alert( $(this).attr('href') );
})

а координаты как мне представляется метрике без надобности.
ну если только координаты кликов для "карты кликов".

как связать незнаю, врядли яндекс хотел бы такой связи.

Просто если через веб-консоль посмотреть какие гет запросы шлёт метрика. Там вполне чётко видно если реально нажать параметры x и y положительны. Если кликом() то отрицательны :)

Deff 10.01.2013 16:15

Цитата:

Сообщение от finlandia
Если кликом() то отрицательны

Имхо анализируют наведение - и отслеживать перемещение(сразу после наведения до клика, посколь перемещение курсора не имитируется скриптом

Deff 10.01.2013 18:16

<a href="http://forum-top.ru/vote/2" title="Рейтинг форумов Forum-top.ru" target="blank" onclick="onclickTst(this)">
<img id="Id00" onmouseover="Setover(this)" onmousemove="Setmove(this)" src="http://forum-top.ru/uploads/buttons/tmp/informer_2.gif" onmouseout="outClearAll(this)" alt="Рейтинг форумов Forum-top.ru"/>
</a>
<script type="text/javascript">
var TstVariable=false,TstVariable2=false;
function Setover(a){
  TstVariable=true;
}
function Setmove(a){
  if(TstVariable)TstVariable2=true;
}
function onclickTst(a){
 if(TstVariable&&TstVariable2){
 alert("Правильный клик")
 } else alert("Неправильный клик(Псевдоклик)")
}
function outClearAll(a){
 TstVariable=false;
  TstVariable2=false;
}
setTimeout("document.getElementById('Id00').click()",1000) //Псевдоклик
</script>

DjDiablo 10.01.2013 18:58

Я только что проголосовал за какой-то форум. :blink:
Спасибо тебе Deff :)

А наш чо неучаствует ? :)


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