Jdlrobson has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/336670 )
Change subject: Track document visibility in reading depth schema
......................................................................
Track document visibility in reading depth schema
When document becomes hidden/visible calculate milliseconds paused
and subtract this from totalLength upon logging pageUnloaded
Bug: T155639
Change-Id: I762ec3fc91decf3cffa869dbd783faf62f01329a
---
M modules/ext.wikimediaEvents.readingDepth.js
1 file changed, 28 insertions(+), 1 deletion(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikimediaEvents
refs/changes/70/336670/1
diff --git a/modules/ext.wikimediaEvents.readingDepth.js
b/modules/ext.wikimediaEvents.readingDepth.js
index 4f716fe..b28ab2e 100644
--- a/modules/ext.wikimediaEvents.readingDepth.js
+++ b/modules/ext.wikimediaEvents.readingDepth.js
@@ -8,11 +8,32 @@
*/
( function ( $, mw, conf, user, exp ) {
- var msPaused = 0,
+ var pausedAt,
+ msPaused = 0,
perf = window.performance,
// This copies logic in mw.now for consistency.
// if not defined no events will be logged.
from = perf && perf.timing && perf.timing.navigationStart;
+
+ /**
+ * Pause the timer of the user's session based on information that they
+ * have navigated away from the page.
+ */
+ function pause() {
+ if ( !pausedAt ) {
+ pausedAt = mw.now();
+ }
+ }
+
+ /**
+ * If paused resume the time of the user's session
+ */
+ function resume() {
+ if ( pausedAt ) {
+ msPaused += mw.now() - pausedAt;
+ pausedAt = null;
+ }
+ }
/**
* Log an event to the Schema:ReadingDepth
@@ -85,6 +106,12 @@
if ( isEnabled() ) {
$( window ).on( 'beforeunload', function () {
logEvent( 'pageUnloaded' );
+ } ).on( 'visibilitychange', function () {
+ if ( document.hidden ) {
+ pause();
+ } else {
+ resume();
+ }
} );
logEvent( 'pageLoaded' );
}
--
To view, visit https://gerrit.wikimedia.org/r/336670
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I762ec3fc91decf3cffa869dbd783faf62f01329a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikimediaEvents
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits