recjs

Lightweight user session recorder based on JSON
Installation
In browser:
<script src="dist/dist.js"></script>
In Node.js
npm install --save @alexcambose/recjs
import Recjs from 'recjs';
Usage
...
<body>
<div id="someElement"></div>
</body>
...
Example 1
const recjs = new Recjs({
el: '#someElement',
});
recjs.recorder.record();
setTimeout(() => {
recjs.recorder.stop();
console.log(recjs.recorder.getData())
}, 3000);
Example 2
const recjs = new Recjs({
el: '#someElement',
});
recjs.recorder.record();
setTimeout(() => {
recjs.recorder.stop();
recjs.player.play(recjs.recorder.getData(), () => console.log('Finished'));
}, 3000);
API Reference
Classes
- Recjs
- Recorder
Recorder class
- Player
Player class
Recjs
Kind: global class
new Recjs($0)
$0 | Object | | |
$0.el | string | | Target element that is going to be recorded |
[$0.events] | array | ['scroll', 'mousemove', 'keypress', 'click', 'contextmenu'] | User events that will be recorded |
[$0.fps] | integer | 30 | Number of frames per second |
[$0.document] | object | window.document | Document object to be used. (in case of an iframe) |
Example
const recjs = new Recjs({
el: '#someElement',
events: ['scroll'],
fps: 60
});
Recorder
Recorder class
Kind: global class
recorder.record()
Starts recording
Kind: instance method of Recorder
Example
recjs.recorder.record()
recorder.isRecording() ⇒ boolean
Check if it is recording
Kind: instance method of Recorder
Returns: boolean
- True if it's recording
Example
recjs.recorder.isRecording()
recorder.stop()
Stops recording
Kind: instance method of Recorder
Example
recjs.recorder.stop()
recorder.pause()
Pauses current recording
Kind: instance method of Recorder
Example
recjs.recorder.pause()
recorder.getData(stringify) ⇒ object
| string
Returns recorded data
Kind: instance method of Recorder
Example
recjs.recorder.getData(true)
Player
Player class
Kind: global class
player.play(data, onEnd)
Starts playing a recording
Kind: instance method of Player
data | object | Recorded data |
onEnd | function | Calls when playing finishes |
Example
recjs.player.play(recjs.recorder.getData(), () => {
console.log('Finished playing')
})
player.pause()
Pauses playing
Kind: instance method of Player
Example
recjs.player.pause()
player.stop()
Stops playing
Kind: instance method of Player
Example
recjs.player.stop()
player.setFrameIndex(index)
Set current frame
Kind: instance method of Player
Example
recjs.player.setFrameIndex(87)
player.currentFrame() ⇒ object
Get current frame
Kind: instance method of Player
Returns: object
- Frame object
Example
recjs.player.currentFrame()
player.currentFrameIndex() ⇒ number
Get current frame index
Kind: instance method of Player
Returns: number
- Frame index
Example
recjs.player.currentFrameIndex()
player.isPlaying() ⇒ boolean
Is playing
Kind: instance method of Player
Returns: boolean
- Returns true if it is playing
Example
recjs.player.isPlaying()