forked from campiaperti/infra
Fixes #1549, now UA match is limiting out MS Edge and Chrome detection is improved. Also improved UserAgent access by storing it in to a local variable, it was accessed so many times in different places.
This commit is contained in:
parent
e83e275a4c
commit
a63c8cab92
1 changed files with 10 additions and 5 deletions
15
js/reveal.js
15
js/reveal.js
|
@ -32,6 +32,7 @@
|
||||||
HORIZONTAL_SLIDES_SELECTOR = '.slides>section',
|
HORIZONTAL_SLIDES_SELECTOR = '.slides>section',
|
||||||
VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section',
|
VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section',
|
||||||
HOME_SLIDE_SELECTOR = '.slides>section:first-of-type',
|
HOME_SLIDE_SELECTOR = '.slides>section:first-of-type',
|
||||||
|
UA = navigator.userAgent,
|
||||||
|
|
||||||
// Configuration defaults, can be overridden at initialization time
|
// Configuration defaults, can be overridden at initialization time
|
||||||
config = {
|
config = {
|
||||||
|
@ -197,6 +198,9 @@
|
||||||
// Client is a mobile device, see #checkCapabilities()
|
// Client is a mobile device, see #checkCapabilities()
|
||||||
isMobileDevice,
|
isMobileDevice,
|
||||||
|
|
||||||
|
// Client is a desktop Chrome, see #checkCapabilities()
|
||||||
|
isChrome,
|
||||||
|
|
||||||
// Throttles mouse wheel navigation
|
// Throttles mouse wheel navigation
|
||||||
lastMouseWheelStep = 0,
|
lastMouseWheelStep = 0,
|
||||||
|
|
||||||
|
@ -301,7 +305,8 @@
|
||||||
*/
|
*/
|
||||||
function checkCapabilities() {
|
function checkCapabilities() {
|
||||||
|
|
||||||
isMobileDevice = /(iphone|ipod|ipad|android)/gi.test( navigator.userAgent );
|
isMobileDevice = /(iphone|ipod|ipad|android)/gi.test( UA );
|
||||||
|
isChrome = /chrome/i.test( UA ) && !/edge/i.test( UA );
|
||||||
|
|
||||||
var testElement = document.createElement( 'div' );
|
var testElement = document.createElement( 'div' );
|
||||||
|
|
||||||
|
@ -324,13 +329,13 @@
|
||||||
|
|
||||||
// Transitions in the overview are disabled in desktop and
|
// Transitions in the overview are disabled in desktop and
|
||||||
// Safari due to lag
|
// Safari due to lag
|
||||||
features.overviewTransitions = !/Version\/[\d\.]+.*Safari/.test( navigator.userAgent );
|
features.overviewTransitions = !/Version\/[\d\.]+.*Safari/.test( UA );
|
||||||
|
|
||||||
// Flags if we should use zoom instead of transform to scale
|
// Flags if we should use zoom instead of transform to scale
|
||||||
// up slides. Zoom produces crisper results but has a lot of
|
// up slides. Zoom produces crisper results but has a lot of
|
||||||
// xbrowser quirks so we only use it in whitelsited browsers.
|
// xbrowser quirks so we only use it in whitelsited browsers.
|
||||||
features.zoom = 'zoom' in testElement.style && !isMobileDevice &&
|
features.zoom = 'zoom' in testElement.style && !isMobileDevice &&
|
||||||
( /chrome/i.test( navigator.userAgent ) || /Version\/[\d\.]+.*Safari/.test( navigator.userAgent ) );
|
( isChrome || /Version\/[\d\.]+.*Safari/.test( UA ) );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1048,7 +1053,7 @@
|
||||||
|
|
||||||
// Only support touch for Android, fixes double navigations in
|
// Only support touch for Android, fixes double navigations in
|
||||||
// stock browser
|
// stock browser
|
||||||
if( navigator.userAgent.match( /android/gi ) ) {
|
if( UA.match( /android/gi ) ) {
|
||||||
pointerEvents = [ 'touchstart' ];
|
pointerEvents = [ 'touchstart' ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4183,7 +4188,7 @@
|
||||||
}
|
}
|
||||||
// There's a bug with swiping on some Android devices unless
|
// There's a bug with swiping on some Android devices unless
|
||||||
// the default action is always prevented
|
// the default action is always prevented
|
||||||
else if( navigator.userAgent.match( /android/gi ) ) {
|
else if( UA.match( /android/gi ) ) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue