-
Notifications
You must be signed in to change notification settings - Fork 0
/
videojs.pausedAds.js
51 lines (41 loc) · 1.28 KB
/
videojs.pausedAds.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
var pausedAds = videojs.extend(videojs.getPlugin('plugin'), {
constructor: function (player, options) {
var Plugin = videojs.getPlugin('plugin')
var $ = jQuery
Plugin.call(this, player, options)
var settings = {
adScript: '',
rerunScriptOnPause: false
}
$.extend(settings, options)
// setup default ad HTML container
pausedAdHTML = '<div class="vjs-pausedAd-container"><div class="vjs-pausedAd"></div><a href="javascript:void(0)" class="vjs-pausedAd-resume">Resume</a></div>'
var $vjs = $(player.el())
$vjs.append(pausedAdHTML)
var $pausedAd = $vjs.find('.vjs-pausedAd-container')
var $pausedAdWrapper = $vjs.find('.vjs-pausedAd')
var $pausedAdResumeBtn = $vjs.find('.vjs-pausedAd-resume')
if (!settings.adScript.trim().length) {
return
}
$pausedAdWrapper.append(settings.adScript)
// display ad when video is paused
player.on('pause', function () {
$pausedAd.addClass('in')
if (settings.rerunScriptOnPause) {
$pausedAdWrapper.empty()
$pausedAdWrapper.append(settings.adScript)
}
})
player.on('play', function () {
$pausedAd.removeClass('in')
})
$pausedAdResumeBtn.on('click', function () {
player.play()
})
},
setAdScript: function (adScript) {
console.log(this)
}
})
videojs.registerPlugin('pausedAds',pausedAds)