From 7414b8ae07aeeb54e536fe801e589e4d63ac852e Mon Sep 17 00:00:00 2001 From: Robbie Davis Date: Wed, 22 Sep 2021 12:28:58 -0400 Subject: [PATCH] Added ios detection (#591) https://stackoverflow.com/questions/9038625/detect-if-device-is-ios/9039885#9039885 *Note* navigator.platform is deprecated but still seems to work for now. --- UI/Web/src/app/manga-reader/manga-reader.component.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/UI/Web/src/app/manga-reader/manga-reader.component.ts b/UI/Web/src/app/manga-reader/manga-reader.component.ts index 730f0be4b..9f34eb75b 100644 --- a/UI/Web/src/app/manga-reader/manga-reader.component.ts +++ b/UI/Web/src/app/manga-reader/manga-reader.component.ts @@ -783,7 +783,16 @@ export class MangaReaderComponent implements OnInit, AfterViewInit, OnDestroy { if (this.ctx && this.canvas) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - const isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && window['safari'].pushNotification)); + const isSafari = [ + 'iPad Simulator', + 'iPhone Simulator', + 'iPod Simulator', + 'iPad', + 'iPhone', + 'iPod' + ].includes(navigator.platform) + // iPad on iOS 13 detection + || (navigator.userAgent.includes("Mac") && "ontouchend" in document); const canvasLimit = isSafari ? 16_777_216 : 124_992_400; const needsScaling = this.canvasImage.width * this.canvasImage.height > canvasLimit; if (needsScaling) {