Autor Zpráva
IvoProrok
Profil *
Ahoj,

chci se zeptat zdejších zkušených JS borcu, zda je možné pomocí JS(případně jiného jazyku pro web) zaznamenávat písmena klávesnice nebo události myši uživatele a odesílat je zpět programátorovi stránek. A pokud ano, zda to funguje i v případě, že uživatel-návštěvník stránek nemá nakliknuto právě na stránkách ale pracuje třeba s programem malování. Dík.
Joker
Profil
IvoProrok:
zda je možné pomocí JS(případně jiného jazyku pro web) zaznamenávat písmena klávesnice nebo události myši uživatele a odesílat je zpět programátorovi stránek
Ano, teoreticky ano, s využitím událostí onkeydown, onkeyup a onkeypress

A pokud ano, zda to funguje i v případě, že uživatel-návštěvník stránek nemá nakliknuto právě na stránkách ale pracuje třeba s programem malování. Dík.
Nefunguje, předávají se jen události vyvolané na té konkrétní stránce.
Jinak by to byla bezpečnostní díra jako prase.
IvoProrok
Profil *
"Nefunguje, předávají se jen události vyvolané na té konkrétní stránce. "
Tak to je dobře.
habendorf
Profil
IvoProrok:

Ono by to bylo trošku hloupé, kdyby třeba člověk ve vedlejším okně lezl do banky ;o)
IvoProrok
Profil *
habendorf:

To máš jistě pravdu. Takže pokud nemá prohlížeč fokus, potom JS nemuže na zobrazené stránce nic detekovat a tedy odesílat, je tak ?
Chamurappi
Profil
Reaguji na IvoProroka:
Nemůže nic detekovat. Komunikovat se serverem může.
Joker
Profil
Chamurappi:
Komunikovat se serverem může.
Nejsem si jistý, jestli to platí na 100%.
Minimálně u některých verzí Opery se mi zdálo, že například Facebook chat při přepnutí do jiného okna nebo na jinou stránku přestal "pingat" server, čili na druhé straně to vypadalo že dotyčný je offline (přestože stránka byla pořád otevřená).
Opera 10 to ale zdá se nedělá a ani jsem nedělal nějaký hlubší průzkum.
Str4wberry
Profil
Facebook chat při přepnutí do jiného okna nebo na jinou stránku přestal "pingat" server

Otázka je, jestli to není úsporná vlastnost Facebooku.
_es
Profil
Str4wberry
Otázka je, jestli to není úsporná vlastnost Facebooku.

Teda stránka môže reagovať na stratu focusu okna a skripty na stránke môžu ísť aj vtedy, ak okno stránky focus nemá.
Str4wberry
Profil
Souhlasím.
IvoProrok
Profil *
Samozřejmě. Pokud nemá okno prohlížeče fokus, tak přesto muze probíhat skript...otázkou je, zda probíhá monitoring kláves pokud okno nemá fokus. Takový skript by fungovat něměl, je tak ? Shoda ?
_es
Profil
IvoProrok
Ten monitoring môže byť len iného okna (karty) toho istého prehliadača ak bolo načítané z rovnakého servera ako daná stránka.
Alebo z rovnakej domény ak to stránka povolí.
Na iné domény je zakázaný prístup a JavaScript nemá žiadne prostriedky na monitorovanie iných aplikácií.
Môže byť však narušená bezpečnosť prehliadača napríklad nainštalovaním nejakého rozšírenia alebo po napadnutí vírusom.
IvoProrok
Profil *
_es
No dobře ale tím neodpovídáte na otázku která je primární a teda zda JS považuje uživateli zobrazenou stránku bez fokusu přesto za "prostor", z něhož je možno čerpat zmíněné informace tzn keyboard a mouse input a nebo je lost focus automaticky, obrazně řečeno přetnutím pupeční šňury a JS v ten okamžik již není schopen tyto informace sbírat. Uvedu příklad. Zobrazíte stránky, klepnete na dolní lištu windows, tím prohlížeč pozbude focusu a teda v tomto okamžiku A) není JS - zobrazená stránka schopna přijímat umiňovaný input B) je schopný. A nebo B ?
Chamurappi
Profil
Reaguji na IvaProroka:
ale tím neodpovídáte na otázku která je primární
Zjevně nemá smysl na ni dále odpovídat, protože ji budeš pokládat stále znovu a znovu.
Navíc ti _es na tu primární otázku odpověděl hned v první větě, viz „len“.
_es
Profil
IvoProrok
JavaScript v prehliadači dokáže monitorovať tie udalosti len v prostredí prehliadača, nie v iných aplikáciách, teda musí mať nejaké okno prehliadača focus.
IvoProrok
Profil *
Chamurappi
OD es jsem dostal odpoved až níní za což mu děkuji.

"Zjevně nemá smysl na ni dále odpovídat, protože ji budeš pokládat stále znovu a znovu"

Takový blb jako ty genius zase nejsem.
IvoProrok
Profil *
Nicméně., když se tak dívám. Stačí malý pokus, přímo v tomto foru. Manuelně ztratím fokus prohlížeče a přestože je ztracen, tak stránka reaguje evidentně na mouse move událost, a to nejméně. Najedu-li kurzorem například na slovo diskuse, zobrazí prohlížeč url adresu v dolním lévém rohu. To je zajímavé. Patrně tyto informace prohlížeč sděluje ale skript samotný k nim přístup nemá.
Chamurappi
Profil
Reaguji na IvaProroka:
Patrně tyto informace prohlížeč sděluje ale skript samotný k nim přístup nemá.
Má k nim přístup. Pokud je událost myši či klávesnice schopno zachytit standardními postupy okno v operačním systému, má tuto schopnost i skript. To je asi nejpřesnější odpověď na tvoji primární otázku.
IvoProrok
Profil *
čili u myši bez focusu - "ano" u klávesnice - "ne". Ok, díky za váš čas.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0