Fix for touches on ios platform (bug 45844)

This commit is contained in:
Oleg Korshul
2020-07-16 13:40:19 +03:00
parent 6425cd6316
commit 60050ffe8f
2 changed files with 25 additions and 4 deletions

View File

@ -43,7 +43,7 @@ var AscBrowser = {
isMacOs : false, isMacOs : false,
isSafariMacOs : false, isSafariMacOs : false,
isAppleDevices : false, isAppleDevices : false,
isAndroid : false, isAndroid : false,
isMobile : false, isMobile : false,
isGecko : false, isGecko : false,
isChrome : false, isChrome : false,
@ -60,7 +60,8 @@ var AscBrowser = {
isSailfish : false, isSailfish : false,
isEmulateDevicePixelRatio : false, isEmulateDevicePixelRatio : false,
isNeedEmulateUpload : false, isNeedEmulateUpload : false,
chromeVersion : 70 chromeVersion : 70,
iosVersion : 13
}; };
// user agent lower case // user agent lower case
@ -99,6 +100,24 @@ AscBrowser.isAppleDevices = (AscBrowser.userAgent.indexOf("ipad") > -1 ||
AscBrowser.userAgent.indexOf("iphone") > -1 || AscBrowser.userAgent.indexOf("iphone") > -1 ||
AscBrowser.userAgent.indexOf("ipod") > -1); AscBrowser.userAgent.indexOf("ipod") > -1);
if (AscBrowser.isAppleDevices)
{
var iosversion = AscBrowser.iosVersion;
try
{
if (/iP(hone|od|ad)/.test(navigator.platform))
{
var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
//[parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
iosversion = parseInt(v[1], 10);
}
}
catch (err)
{
}
AscBrowser.iosVersion = iosversion;
}
// android devices detect // android devices detect
AscBrowser.isAndroid = (AscBrowser.userAgent.indexOf("android") > -1); AscBrowser.isAndroid = (AscBrowser.userAgent.indexOf("android") > -1);

6
vendor/iscroll.js vendored
View File

@ -81,13 +81,15 @@ var utils = (function () {
}; };
var _transform = _prefixStyle('transform'); var _transform = _prefixStyle('transform');
var _hasPointer = AscCommon.AscBrowser.isIE ? ((!('ontouchstart' in window)) && (!!(window.PointerEvent || window.MSPointerEvent))) : false;
if (AscCommon.AscBrowser.isAppleDevices && AscCommon.AscBrowser.iosVersion >= 13)
_hasPointer = true;
me.extend(me, { me.extend(me, {
hasTransform: _transform !== false, hasTransform: _transform !== false,
hasPerspective: _prefixStyle('perspective') in _elementStyle, hasPerspective: _prefixStyle('perspective') in _elementStyle,
hasTouch: 'ontouchstart' in window, hasTouch: 'ontouchstart' in window,
//hasPointer: false,//(!('ontouchstart' in window)) && (!!(window.PointerEvent || window.MSPointerEvent)), // IE10 is prefixed hasPointer: _hasPointer,
hasPointer: AscCommon.AscBrowser.isIE ? ((!('ontouchstart' in window)) && (!!(window.PointerEvent || window.MSPointerEvent))) : false,
hasTransition: _prefixStyle('transition') in _elementStyle hasTransition: _prefixStyle('transition') in _elementStyle
}); });