Mouselog.js
Mouselog.js is the client-side agent for Microsoft's Mouselog, a user behavior monitoring platform for websites.
CDN
Embed Mouselog in your HTML files:
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mouselog@latest/build/mouselog.js"></script>
<script>
var agent = mouselog.init();
agent.run({
uploadEndpoint: "Your_Server_Url",
websiteId: "Your_Website_Id",
endpointType: "absolute"
});
</script>
You can also include mouselog dynamically in Javascript:
(function() {
var script = document.createElement("script");
script.src = "https://cdn.jsdelivr.net/npm/mouselog@latest/build/mouselog.js";
script.onload = function() {
var agent = mouselog.init();
agent.run({
uploadEndpoint: "Your_Server_Url",
websiteId: "Your_Website_Id",
endpointType: "absolute"
});
}
document.addEventListener('DOMContentLoaded', function () {
document.body.appendChild(script);
});
})();
Build Manually
You can also bundle Mouselog.js manually via
npm i
npm run build
This will generate the bundled scripts in ./build
.
NPM
Install Mouselog.js via
npm i mouselog --save
Then run Mouselog and it will automatically collect all you want.
import Mouselong from 'mouselog';
let agent = new Mouselog();
agent.run({
uploadEndpoint: "Your_Server_Url",
websiteId: "Your_Website_Id",
endpointType: "absolute"
});
You can also deactivate Mouselog by calling agent.stop()
.
Configuration
Username
You can set username by assigning the username to window.mouselogUserId
.
window.mouselogUserId = "Username";
Mouselog agent will automatically load it when uploading the data to the server.
Other parameters
{
uploadEndpoint: "your_server_url",
websiteId: "unknown",
endpointType: "absolute",
uploadMode: "mixed",
uploadPeriod: 5000,
frequency: 50,
uploadTimes = null
sizeLimit = 65535,
encoder = "";
enableServerConfig = true;
enableSession = true;
enableSendEmpty = false;
enableGet: false,
this.disableException = false;
this.impIdVariable = null;
this.sessionIdVariable = null;
scope: window.document
enablePingMessage: false
recordKeyboardEvent: true
}
Demo
Mouselog-demo
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct.
For more information see the Code of Conduct FAQ or
contact opencode@microsoft.com with any additional questions or comments.