var click = function(htmlElement){ var evt = document.createEvent('MouseEvents'); evt.initMouseEvent('click'); htmlElement.dispatchEvent(evt); };W podobny sposób można oczywiście wywoływać wszystkie inne możliwe zdarzenia.
piątek, 3 lutego 2012
Kliknięcie w dowolny element HTML przy pomocy js
Poniższa funkcja pozwala na kliknięcie w dowolny obiekt HTML przy pomocy JavaScript, niemal identycznie jak gdyby to zrobił użytkownik.
czwartek, 5 stycznia 2012
Wykrywanie interakcji użytkownika
Poniżej zamieszczam prosty kod umożliwiający wykrycie interakcji użytkownika z przeglądarką internetową.
'keydown keyup mousemove mousedown mouseup'.split(' ').map(function(evtName){ window.addEventListener(evtName, function(e){ console.log(e.type); }, false); });Powyższy kawałek kodu można łatwo rozbudować, tworząc obiekt pozwalający na proste odczytanie czy użytkownik jest obecny na stronie.
var idleDetection = (function(delay){ if( typeof delay === 'undefined' ){ delay = 6e4; // 60s } var t; var interaction = function(){ t = Date.now(); }; 'keydown keyup mousemove mousedown mouseup'.split(' ').map(function(evtName){ window.addEventListener(evtName, interaction, false); }); interaction(); return Object.create(null, { idle: {get: function(){ return Date.now() - t >= delay; }} }); })(2e4);Konstruktor funkcji przyjmuje jeden opcjonalny parametr, który jest wartością czasu braku interakcji użytkownika, po upłynięciu którego użytkownik zostaje uznany za nieobecnego na stronie. Domyślna wartość tego czasu wynosi 1 minutę. Poniższy kawałek kodu demonstruje działanie funkcji.
setInterval(function(){ document.title = idleDetection.idle ? 'idle' : 'welcome back'; }, 1e3);
niedziela, 18 grudnia 2011
Quine w JavaScript
Quine - czyli program wypisujący własny kod źródłowy.
!function f(){ console.log(['!', f, '();'].join('')); }();
Subskrybuj:
Posty (Atom)