This repository contains Parse.ly's implementation of "time engaged" tracking. It contains a public mirror of Parse.ly's internal tracker and is not directly used by any Parse.ly systems. For an explanation of the methodology informing this implementation, see the Parse.ly technical documentation.
While the code tracking time engaged itself is unchanged from Parse.ly's production implementation, the support logic contained in this repository is simplified for clarity. Notably, the javascript bundle is loaded synchronously in this implemtation instead of asynchronously, as it is in the production Parse.ly JavaScript tracker.
To run local tests displaying time engaged tracking, you must first install the project dependencies from npm.
$ npm install
Once all dependencies have been installed, you can run the test server on localhost with
$ grunt run-local
Then, navigate in a browser to
http://localhost:8000/standard_engaged_time_local.html
. Keep the window
and browser tab focused, and the tests will run one at a time.
src/tracker
: containsengaged_time.js
, the core time engaged implementation, along with supporting files in thelib
subdirectorytest
: contains the javascript file that uses qunit to define the unit tests run by the test pagesrc/templates
: contains the template file used to generate the html test pagestatic
: contains the static image, js, and css files needed to render the test page along withstandard_engaged_time_local.html
, the generated test page accessible via the browsertasks
: containsmockserver.js
, the small local server used to run the test page
Copyright 2014 Parse.ly, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.