- if the developer console is open before the exam is started,
isFullScreenisfalse - if the developer console is opened during the exam, resize gets triggered
- window resizes trigger a fullscreen check. if
isFullScreenreturnsfalse, an anomaly is recorded and the user is locked out of the exam. mouseoutevent detects when the mouse leaves the window, triggers an anomaly- in chrome, mousing over the "x" at the top center of the screen to leave fullscreen counts as a
mouseout.
- in chrome, mousing over the "x" at the top center of the screen to leave fullscreen counts as a
blurevent detects when the window loses focus from the user, triggers an anomalycontextmenuis sent when the user right-clicks in the window, and this is disabled withpreventDefaultandstopPropagation. no anomaly is recorded- if a user attempts to save a snapshot and they already have a final submission or have some anomaly, they are locked out.
- Chrome's "toggle device toolbar" mode (ctrl+shift+m when developer tools is open) is seen as "fullscreen" no matter what state the window is in.
- the user could have other windows or the developer console open, but focus detection will still work if the cursor leaves the page
- this is fixed by disallowing mobile useragents