1.0.3 • Published 6 years ago

@alexcambose/recjs v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

recjs

JavaScript Style Guide Build Status

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(); // starts recording

setTimeout(() => {
    recjs.recorder.stop(); // stops recording after 3 seconds
    console.log(recjs.recorder.getData()) // gets recording data
}, 3000);

Example 2

const recjs = new Recjs({
    el: '#someElement',
});
recjs.recorder.record(); // starts recording

setTimeout(() => {
    recjs.recorder.stop(); // stops recording after 3 seconds
    recjs.player.play(recjs.recorder.getData(), () => console.log('Finished')); // plays current recording and logs when finishes
}, 3000);

API Reference

Classes

Recjs

Kind: global class

new Recjs($0)

ParamTypeDefaultDescription
$0Object
$0.elstringTarget element that is going to be recorded
$0.eventsarray'scroll', 'mousemove', 'keypress', 'click', 'contextmenu'User events that will be recorded
$0.fpsinteger30Number of frames per second
$0.documentobjectwindow.documentDocument 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

ParamTypeDefault
stringifybooleanfalse

Example

recjs.recorder.getData(true)

Player

Player class

Kind: global class

player.play(data, onEnd)

Starts playing a recording

Kind: instance method of Player

ParamTypeDescription
dataobjectRecorded data
onEndfunctionCalls 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

ParamTypeDescription
indexnumberFrame index

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()