Force disconnect
Ahoj,
při dotaznících jsem narazil na takovou zajímavou věc ohledně disconnectu.
V dotaznících využívám window event onbeforeunload
, ve kterým stačí zavolat .disconnect()
(stopne to a zároveň i odpojí), jenže já v dotaznících využívám tento event na otevření dialog okna, aby se stránka hned nezavřela (prevence pro F5, zavření okna, …). Bohužel jsem nenašel žádný způsob, jak získat uživatelovu odpověď na toto vyskakovací okno, tudíž to musím nešikovně obcházet přes timeout apod. a .disconnect()
volám při window eventu pagehide
(ještě jsou visibilitychange
a unload
, ale ty nejsou prý ideální). A když se odsud zavolá .disconnect()
a samply se pořád posílají, tak se zavolá pouze .stop()
(respektive takhle část https://gitlab.ics.muni.cz/473783/develex-core/-/blob/main/src/lib/GazeInput/GazeInputBridge.ts?ref_type=heads#L72) a zbytek se již nevykoná, pravděpodobně proto, že ten event (pagehide
) se zavolá až při úplném konci stránky a event loop to už nejspíš nestihne.
Zatím mě napadla možnost udělat do core něco jako .forceDisconnect()
, který bude dělat to stejný jako .disconnect()
akorát bez části se .stop()
a ta by se přenechala na bridge (tohle už u GP je https://gitlab.ics.muni.cz/473783/develex-bridge/-/blob/master/src/trackers/gazepoint/OpenGazeTracker.py?ref_type=heads#L173).
Případně napadá tě nějaká jiná možnost?