videojs-hotkeys
Advanced tools
Comparing version 0.2.21 to 0.2.22
@@ -0,0 +0,0 @@ { |
@@ -1,3 +0,3 @@ | ||
/* videojs-hotkeys v0.2.21 - https://github.com/ctd1500/videojs-hotkeys */ | ||
!function(e,t){"function"==typeof define&&define.amd?define("videojs-hotkeys",["video.js"],function(e){return t(e.default||e)}):"undefined"!=typeof module&&module.exports?module.exports=t(require("video.js")):t(videojs)}(0,function(e){"use strict";"undefined"!=typeof window&&(window.videojs_hotkeys={version:"0.2.21"});(e.registerPlugin||e.plugin)("hotkeys",function(t){var r=this,n=r.el(),o=document,u={volumeStep:.1,seekStep:5,enableMute:!0,enableVolumeScroll:!0,enableFullscreen:!0,enableNumbers:!0,enableJogStyle:!1,alwaysCaptureHotkeys:!1,enableModifiersForNumbers:!0,enableInactiveFocus:!0,skipInitialFocus:!1,playPauseKey:function(e){return 32===e.which||179===e.which},rewindKey:function(e){return 37===e.which||177===e.which},forwardKey:function(e){return 39===e.which||176===e.which},volumeUpKey:function(e){return 38===e.which},volumeDownKey:function(e){return 40===e.which},muteKey:function(e){return 77===e.which},fullscreenKey:function(e){return 70===e.which},customKeys:{}},l=e.mergeOptions||e.util.mergeOptions,i=(t=l(u,t||{})).volumeStep,c=t.seekStep,a=t.enableMute,s=t.enableVolumeScroll,m=t.enableFullscreen,y=t.enableNumbers,f=t.enableJogStyle,v=t.alwaysCaptureHotkeys,d=t.enableModifiersForNumbers,p=t.enableInactiveFocus,b=t.skipInitialFocus;n.hasAttribute("tabIndex")||n.setAttribute("tabIndex","-1"),n.style.outline="none",!v&&r.autoplay()||b||r.one("play",function(){n.focus()}),p&&r.on("userinactive",function(){var e=function(){clearTimeout(t)},t=setTimeout(function(){r.off("useractive",e),o.activeElement.parentElement==n.querySelector(".vjs-control-bar")&&n.focus()},10);r.one("useractive",e)}),r.on("play",function(){var e=n.querySelector(".iframeblocker");e&&""===e.style.display&&(e.style.display="block",e.style.bottom="39px")});var h=function(e){if(r.controls()){var t=o.activeElement;if((v||t==n||t==n.querySelector(".vjs-tech")||t==n.querySelector(".iframeblocker")||t==n.querySelector(".vjs-control-bar"))&&s){e=window.event||e;var u=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));e.preventDefault(),1==u?r.volume(r.volume()+i):-1==u&&r.volume(r.volume()-i)}}},w=function(e,r){return t.playPauseKey(e,r)?1:t.rewindKey(e,r)?2:t.forwardKey(e,r)?3:t.volumeUpKey(e,r)?4:t.volumeDownKey(e,r)?5:t.muteKey(e,r)?6:t.fullscreenKey(e,r)?7:void 0};return r.on("keydown",function(e){var u,l,s=e.which,p=e.preventDefault,b=r.duration();if(r.controls()){var h=o.activeElement;if(v||h==n||h==n.querySelector(".vjs-tech")||h==n.querySelector(".vjs-control-bar")||h==n.querySelector(".iframeblocker"))switch(w(e,r)){case 1:p(),v&&e.stopPropagation(),r.paused()?r.play():r.pause();break;case 2:u=!r.paused(),p(),u&&r.pause(),l=r.currentTime()-c,r.currentTime()<=c&&(l=0),r.currentTime(l),u&&r.play();break;case 3:u=!r.paused(),p(),u&&r.pause(),(l=r.currentTime()+c)>=b&&(l=u?b-.001:b),r.currentTime(l),u&&r.play();break;case 5:p(),f?(l=r.currentTime()-1,r.currentTime()<=1&&(l=0),r.currentTime(l)):r.volume(r.volume()-i);break;case 4:p(),f?((l=r.currentTime()+1)>=b&&(l=b),r.currentTime(l)):r.volume(r.volume()+i);break;case 6:a&&r.muted(!r.muted());break;case 7:m&&(r.isFullscreen()?r.exitFullscreen():r.requestFullscreen());break;default:if((s>47&&s<59||s>95&&s<106)&&(d||!(e.metaKey||e.ctrlKey||e.altKey))&&y){var k=48;s>95&&(k=96);var K=s-k;p(),r.currentTime(r.duration()*K*.1)}for(var S in t.customKeys){var F=t.customKeys[S];F&&F.key&&F.handler&&F.key(e)&&(p(),F.handler(r,t,e))}}}}),r.on("dblclick",function(e){if(r.controls()){var t=e.relatedTarget||e.toElement||o.activeElement;t!=n&&t!=n.querySelector(".vjs-tech")&&t!=n.querySelector(".iframeblocker")||m&&(r.isFullscreen()?r.exitFullscreen():r.requestFullscreen())}}),r.on("mousewheel",h),r.on("DOMMouseScroll",h),this})}); | ||
/* videojs-hotkeys v0.2.22 - https://github.com/ctd1500/videojs-hotkeys */ | ||
!function(e,t){"undefined"!=typeof window&&window.videojs?t(window.videojs):"function"==typeof define&&define.amd?define("videojs-hotkeys",["video.js"],function(e){return t(e.default||e)}):"undefined"!=typeof module&&module.exports&&(module.exports=t(require("video.js")))}(0,function(e){"use strict";"undefined"!=typeof window&&(window.videojs_hotkeys={version:"0.2.22"});(e.registerPlugin||e.plugin)("hotkeys",function(t){function r(e){return"function"==typeof a?a(e):a}var n=this,o=n.el(),u=document,l={volumeStep:.1,seekStep:5,enableMute:!0,enableVolumeScroll:!0,enableFullscreen:!0,enableNumbers:!0,enableJogStyle:!1,alwaysCaptureHotkeys:!1,enableModifiersForNumbers:!0,enableInactiveFocus:!0,skipInitialFocus:!1,playPauseKey:function(e){return 32===e.which||179===e.which},rewindKey:function(e){return 37===e.which||177===e.which},forwardKey:function(e){return 39===e.which||176===e.which},volumeUpKey:function(e){return 38===e.which},volumeDownKey:function(e){return 40===e.which},muteKey:function(e){return 77===e.which},fullscreenKey:function(e){return 70===e.which},customKeys:{}},i=e.mergeOptions||e.util.mergeOptions,c=(t=i(l,t||{})).volumeStep,a=t.seekStep,s=t.enableMute,m=t.enableVolumeScroll,y=t.enableFullscreen,f=t.enableNumbers,v=t.enableJogStyle,d=t.alwaysCaptureHotkeys,p=t.enableModifiersForNumbers,b=t.enableInactiveFocus,h=t.skipInitialFocus;o.hasAttribute("tabIndex")||o.setAttribute("tabIndex","-1"),o.style.outline="none",!d&&n.autoplay()||h||n.one("play",function(){o.focus()}),b&&n.on("userinactive",function(){var e=function(){clearTimeout(t)},t=setTimeout(function(){n.off("useractive",e);var t=u.activeElement,r=o.querySelector(".vjs-control-bar");t&&t.parentElement==r&&o.focus()},10);n.one("useractive",e)}),n.on("play",function(){var e=o.querySelector(".iframeblocker");e&&""===e.style.display&&(e.style.display="block",e.style.bottom="39px")});var w=function(e){if(n.controls()){var t=u.activeElement;if((d||t==o||t==o.querySelector(".vjs-tech")||t==o.querySelector(".iframeblocker")||t==o.querySelector(".vjs-control-bar"))&&m){e=window.event||e;var r=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));e.preventDefault(),1==r?n.volume(n.volume()+c):-1==r&&n.volume(n.volume()-c)}}},k=function(e,r){return t.playPauseKey(e,r)?1:t.rewindKey(e,r)?2:t.forwardKey(e,r)?3:t.volumeUpKey(e,r)?4:t.volumeDownKey(e,r)?5:t.muteKey(e,r)?6:t.fullscreenKey(e,r)?7:void 0};return n.on("keydown",function(e){var l,i,a=e.which,m=e.preventDefault,b=n.duration();if(n.controls()){var h=u.activeElement;if(d||h==o||h==o.querySelector(".vjs-tech")||h==o.querySelector(".vjs-control-bar")||h==o.querySelector(".iframeblocker"))switch(k(e,n)){case 1:m(),d&&e.stopPropagation(),n.paused()?n.play():n.pause();break;case 2:l=!n.paused(),m(),l&&n.pause(),(i=n.currentTime()-r(e))<=0&&(i=0),n.currentTime(i),l&&n.play();break;case 3:l=!n.paused(),m(),l&&n.pause(),(i=n.currentTime()+r(e))>=b&&(i=l?b-.001:b),n.currentTime(i),l&&n.play();break;case 5:m(),v?(i=n.currentTime()-1,n.currentTime()<=1&&(i=0),n.currentTime(i)):n.volume(n.volume()-c);break;case 4:m(),v?((i=n.currentTime()+1)>=b&&(i=b),n.currentTime(i)):n.volume(n.volume()+c);break;case 6:s&&n.muted(!n.muted());break;case 7:y&&(n.isFullscreen()?n.exitFullscreen():n.requestFullscreen());break;default:if((a>47&&a<59||a>95&&a<106)&&(p||!(e.metaKey||e.ctrlKey||e.altKey))&&f){var w=48;a>95&&(w=96);var K=a-w;m(),n.currentTime(n.duration()*K*.1)}for(var S in t.customKeys){var F=t.customKeys[S];F&&F.key&&F.handler&&F.key(e)&&(m(),F.handler(n,t,e))}}}}),n.on("dblclick",function(e){if(n.controls()){var t=e.relatedTarget||e.toElement||u.activeElement;t!=o&&t!=o.querySelector(".vjs-tech")&&t!=o.querySelector(".iframeblocker")||y&&(n.isFullscreen()?n.exitFullscreen():n.requestFullscreen())}}),n.on("mousewheel",w),n.on("DOMMouseScroll",w),this})}); | ||
//# sourceMappingURL=videojs.hotkeys.min.js.map |
@@ -0,0 +0,0 @@ module.exports = function(grunt) { |
@@ -0,0 +0,0 @@ Apache License |
{ | ||
"name": "videojs-hotkeys", | ||
"version": "0.2.21", | ||
"version": "0.2.22", | ||
"description": "Adds more hotkey support to video.js", | ||
@@ -5,0 +5,0 @@ "main": "videojs.hotkeys.min.js", |
@@ -74,3 +74,3 @@ videojs-hotkeys | ||
- `volumeStep` (decimal): The percentage to increase/decrease the volume level when using the Up and Down Arrow keys (default: `0.1`) | ||
- `seekStep` (integer): The number of seconds to seek forward and backwards when using the Right and Left Arrow keys (default: `5`) | ||
- `seekStep` (integer or function): The number of seconds to seek forward and backwards when using the Right and Left Arrow keys, or a function that generates an integer given the `KeyboardEvent` (default: `5`) | ||
- `enableMute` (boolean): Enables the volume mute to be toggle by pressing the **M** key (default: `true`) | ||
@@ -154,1 +154,6 @@ - `enableVolumeScroll` (boolean): Enables increasing/decreasing the volume by scrolling the mouse wheel (default: `true`) | ||
There are more usage examples available in the source code of the [example file](https://github.com/ctd1500/videojs-hotkeys/blob/master/example.html). | ||
*** | ||
[<img src="https://cdn.sc.gl/img/browserstack.svg" width="200">](https://www.browserstack.com) | ||
Thanks to [BrowserStack](https://www.browserstack.com) for sponsoring cross-browser compatibility and feature testing. |
@@ -10,3 +10,5 @@ /* | ||
;(function(root, factory) { | ||
if (typeof define === 'function' && define.amd) { | ||
if (typeof window !== 'undefined' && window.videojs) { | ||
factory(window.videojs); | ||
} else if (typeof define === 'function' && define.amd) { | ||
define('videojs-hotkeys', ['video.js'], function (module) { | ||
@@ -17,4 +19,2 @@ return factory(module.default || module); | ||
module.exports = factory(require('video.js')); | ||
} else { | ||
factory(videojs); | ||
} | ||
@@ -24,3 +24,3 @@ }(this, function (videojs) { | ||
if (typeof window !== 'undefined') { | ||
window['videojs_hotkeys'] = { version: "0.2.21" }; | ||
window['videojs_hotkeys'] = { version: "0.2.22" }; | ||
} | ||
@@ -102,3 +102,5 @@ | ||
player.off('useractive', cancelFocusingPlayer); | ||
if (doc.activeElement.parentElement == pEl.querySelector('.vjs-control-bar')) { | ||
var activeElement = doc.activeElement; | ||
var controlBar = pEl.querySelector('.vjs-control-bar'); | ||
if (activeElement && activeElement.parentElement == controlBar) { | ||
pEl.focus(); | ||
@@ -159,6 +161,6 @@ } | ||
} | ||
seekTime = player.currentTime() - seekStep; | ||
seekTime = player.currentTime() - seekStepD(event); | ||
// The flash player tech will allow you to seek into negative | ||
// numbers and break the seekbar, so try to prevent that. | ||
if (player.currentTime() <= seekStep) { | ||
if (seekTime <= 0) { | ||
seekTime = 0; | ||
@@ -177,3 +179,3 @@ } | ||
} | ||
seekTime = player.currentTime() + seekStep; | ||
seekTime = player.currentTime() + seekStepD(event); | ||
// Fixes the player not sending the end event if you | ||
@@ -388,2 +390,7 @@ // try to seek past the duration on the seekbar. | ||
function seekStepD(e) { | ||
// SeekStep caller, returns an int, or a function returning an int | ||
return (typeof seekStep === "function" ? seekStep(e) : seekStep); | ||
} | ||
player.on('keydown', keyDown); | ||
@@ -390,0 +397,0 @@ player.on('dblclick', doubleClick); |
@@ -1,2 +0,2 @@ | ||
/* videojs-hotkeys v0.2.21 - https://github.com/ctd1500/videojs-hotkeys */ | ||
!function(e,t){"function"==typeof define&&define.amd?define("videojs-hotkeys",["video.js"],function(e){return t(e.default||e)}):"undefined"!=typeof module&&module.exports?module.exports=t(require("video.js")):t(videojs)}(0,function(e){"use strict";"undefined"!=typeof window&&(window.videojs_hotkeys={version:"0.2.21"});(e.registerPlugin||e.plugin)("hotkeys",function(t){var r=this,n=r.el(),o=document,u={volumeStep:.1,seekStep:5,enableMute:!0,enableVolumeScroll:!0,enableFullscreen:!0,enableNumbers:!0,enableJogStyle:!1,alwaysCaptureHotkeys:!1,enableModifiersForNumbers:!0,enableInactiveFocus:!0,skipInitialFocus:!1,playPauseKey:function(e){return 32===e.which||179===e.which},rewindKey:function(e){return 37===e.which||177===e.which},forwardKey:function(e){return 39===e.which||176===e.which},volumeUpKey:function(e){return 38===e.which},volumeDownKey:function(e){return 40===e.which},muteKey:function(e){return 77===e.which},fullscreenKey:function(e){return 70===e.which},customKeys:{}},l=e.mergeOptions||e.util.mergeOptions,i=(t=l(u,t||{})).volumeStep,c=t.seekStep,a=t.enableMute,s=t.enableVolumeScroll,m=t.enableFullscreen,y=t.enableNumbers,f=t.enableJogStyle,v=t.alwaysCaptureHotkeys,d=t.enableModifiersForNumbers,p=t.enableInactiveFocus,b=t.skipInitialFocus;n.hasAttribute("tabIndex")||n.setAttribute("tabIndex","-1"),n.style.outline="none",!v&&r.autoplay()||b||r.one("play",function(){n.focus()}),p&&r.on("userinactive",function(){var e=function(){clearTimeout(t)},t=setTimeout(function(){r.off("useractive",e),o.activeElement.parentElement==n.querySelector(".vjs-control-bar")&&n.focus()},10);r.one("useractive",e)}),r.on("play",function(){var e=n.querySelector(".iframeblocker");e&&""===e.style.display&&(e.style.display="block",e.style.bottom="39px")});var h=function(e){if(r.controls()){var t=o.activeElement;if((v||t==n||t==n.querySelector(".vjs-tech")||t==n.querySelector(".iframeblocker")||t==n.querySelector(".vjs-control-bar"))&&s){e=window.event||e;var u=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));e.preventDefault(),1==u?r.volume(r.volume()+i):-1==u&&r.volume(r.volume()-i)}}},w=function(e,r){return t.playPauseKey(e,r)?1:t.rewindKey(e,r)?2:t.forwardKey(e,r)?3:t.volumeUpKey(e,r)?4:t.volumeDownKey(e,r)?5:t.muteKey(e,r)?6:t.fullscreenKey(e,r)?7:void 0};return r.on("keydown",function(e){var u,l,s=e.which,p=e.preventDefault,b=r.duration();if(r.controls()){var h=o.activeElement;if(v||h==n||h==n.querySelector(".vjs-tech")||h==n.querySelector(".vjs-control-bar")||h==n.querySelector(".iframeblocker"))switch(w(e,r)){case 1:p(),v&&e.stopPropagation(),r.paused()?r.play():r.pause();break;case 2:u=!r.paused(),p(),u&&r.pause(),l=r.currentTime()-c,r.currentTime()<=c&&(l=0),r.currentTime(l),u&&r.play();break;case 3:u=!r.paused(),p(),u&&r.pause(),(l=r.currentTime()+c)>=b&&(l=u?b-.001:b),r.currentTime(l),u&&r.play();break;case 5:p(),f?(l=r.currentTime()-1,r.currentTime()<=1&&(l=0),r.currentTime(l)):r.volume(r.volume()-i);break;case 4:p(),f?((l=r.currentTime()+1)>=b&&(l=b),r.currentTime(l)):r.volume(r.volume()+i);break;case 6:a&&r.muted(!r.muted());break;case 7:m&&(r.isFullscreen()?r.exitFullscreen():r.requestFullscreen());break;default:if((s>47&&s<59||s>95&&s<106)&&(d||!(e.metaKey||e.ctrlKey||e.altKey))&&y){var k=48;s>95&&(k=96);var K=s-k;p(),r.currentTime(r.duration()*K*.1)}for(var S in t.customKeys){var F=t.customKeys[S];F&&F.key&&F.handler&&F.key(e)&&(p(),F.handler(r,t,e))}}}}),r.on("dblclick",function(e){if(r.controls()){var t=e.relatedTarget||e.toElement||o.activeElement;t!=n&&t!=n.querySelector(".vjs-tech")&&t!=n.querySelector(".iframeblocker")||m&&(r.isFullscreen()?r.exitFullscreen():r.requestFullscreen())}}),r.on("mousewheel",h),r.on("DOMMouseScroll",h),this})}); | ||
/* videojs-hotkeys v0.2.22 - https://github.com/ctd1500/videojs-hotkeys */ | ||
!function(e,t){"undefined"!=typeof window&&window.videojs?t(window.videojs):"function"==typeof define&&define.amd?define("videojs-hotkeys",["video.js"],function(e){return t(e.default||e)}):"undefined"!=typeof module&&module.exports&&(module.exports=t(require("video.js")))}(0,function(e){"use strict";"undefined"!=typeof window&&(window.videojs_hotkeys={version:"0.2.22"});(e.registerPlugin||e.plugin)("hotkeys",function(t){function r(e){return"function"==typeof a?a(e):a}var n=this,o=n.el(),u=document,l={volumeStep:.1,seekStep:5,enableMute:!0,enableVolumeScroll:!0,enableFullscreen:!0,enableNumbers:!0,enableJogStyle:!1,alwaysCaptureHotkeys:!1,enableModifiersForNumbers:!0,enableInactiveFocus:!0,skipInitialFocus:!1,playPauseKey:function(e){return 32===e.which||179===e.which},rewindKey:function(e){return 37===e.which||177===e.which},forwardKey:function(e){return 39===e.which||176===e.which},volumeUpKey:function(e){return 38===e.which},volumeDownKey:function(e){return 40===e.which},muteKey:function(e){return 77===e.which},fullscreenKey:function(e){return 70===e.which},customKeys:{}},i=e.mergeOptions||e.util.mergeOptions,c=(t=i(l,t||{})).volumeStep,a=t.seekStep,s=t.enableMute,m=t.enableVolumeScroll,y=t.enableFullscreen,f=t.enableNumbers,v=t.enableJogStyle,d=t.alwaysCaptureHotkeys,p=t.enableModifiersForNumbers,b=t.enableInactiveFocus,h=t.skipInitialFocus;o.hasAttribute("tabIndex")||o.setAttribute("tabIndex","-1"),o.style.outline="none",!d&&n.autoplay()||h||n.one("play",function(){o.focus()}),b&&n.on("userinactive",function(){var e=function(){clearTimeout(t)},t=setTimeout(function(){n.off("useractive",e);var t=u.activeElement,r=o.querySelector(".vjs-control-bar");t&&t.parentElement==r&&o.focus()},10);n.one("useractive",e)}),n.on("play",function(){var e=o.querySelector(".iframeblocker");e&&""===e.style.display&&(e.style.display="block",e.style.bottom="39px")});var w=function(e){if(n.controls()){var t=u.activeElement;if((d||t==o||t==o.querySelector(".vjs-tech")||t==o.querySelector(".iframeblocker")||t==o.querySelector(".vjs-control-bar"))&&m){e=window.event||e;var r=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));e.preventDefault(),1==r?n.volume(n.volume()+c):-1==r&&n.volume(n.volume()-c)}}},k=function(e,r){return t.playPauseKey(e,r)?1:t.rewindKey(e,r)?2:t.forwardKey(e,r)?3:t.volumeUpKey(e,r)?4:t.volumeDownKey(e,r)?5:t.muteKey(e,r)?6:t.fullscreenKey(e,r)?7:void 0};return n.on("keydown",function(e){var l,i,a=e.which,m=e.preventDefault,b=n.duration();if(n.controls()){var h=u.activeElement;if(d||h==o||h==o.querySelector(".vjs-tech")||h==o.querySelector(".vjs-control-bar")||h==o.querySelector(".iframeblocker"))switch(k(e,n)){case 1:m(),d&&e.stopPropagation(),n.paused()?n.play():n.pause();break;case 2:l=!n.paused(),m(),l&&n.pause(),(i=n.currentTime()-r(e))<=0&&(i=0),n.currentTime(i),l&&n.play();break;case 3:l=!n.paused(),m(),l&&n.pause(),(i=n.currentTime()+r(e))>=b&&(i=l?b-.001:b),n.currentTime(i),l&&n.play();break;case 5:m(),v?(i=n.currentTime()-1,n.currentTime()<=1&&(i=0),n.currentTime(i)):n.volume(n.volume()-c);break;case 4:m(),v?((i=n.currentTime()+1)>=b&&(i=b),n.currentTime(i)):n.volume(n.volume()+c);break;case 6:s&&n.muted(!n.muted());break;case 7:y&&(n.isFullscreen()?n.exitFullscreen():n.requestFullscreen());break;default:if((a>47&&a<59||a>95&&a<106)&&(p||!(e.metaKey||e.ctrlKey||e.altKey))&&f){var w=48;a>95&&(w=96);var K=a-w;m(),n.currentTime(n.duration()*K*.1)}for(var S in t.customKeys){var F=t.customKeys[S];F&&F.key&&F.handler&&F.key(e)&&(m(),F.handler(n,t,e))}}}}),n.on("dblclick",function(e){if(n.controls()){var t=e.relatedTarget||e.toElement||u.activeElement;t!=o&&t!=o.querySelector(".vjs-tech")&&t!=o.querySelector(".iframeblocker")||y&&(n.isFullscreen()?n.exitFullscreen():n.requestFullscreen())}}),n.on("mousewheel",w),n.on("DOMMouseScroll",w),this})}); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
50044
508
158