diff --git a/src/components/app/app.ts b/src/components/app/app.ts index 1b724719d8..3188febbb5 100644 --- a/src/components/app/app.ts +++ b/src/components/app/app.ts @@ -95,12 +95,16 @@ export class App { /** * @private */ - setScrollDisabled(disabled: boolean) { + setScrollDisabled(disableScroll: boolean) { + let enabled = this._config.get('canDisableScroll', true); + if (!enabled) { + return; + } if (!this.appRoot) { console.error('appRoot is missing, scrolling can not be enabled/disabled'); return; } - this.appRoot.disableScroll = disabled; + this.appRoot.disableScroll = disableScroll; } /** diff --git a/src/platform/registry.ts b/src/platform/registry.ts index b9057d6162..0a67c15ee0 100644 --- a/src/platform/registry.ts +++ b/src/platform/registry.ts @@ -104,7 +104,8 @@ Platform.register({ swipeBackEnabled: isIOSDevice, swipeBackThreshold: 40, tapPolyfill: isIOSDevice, - virtualScrollEventAssist: !(win.indexedDB) + virtualScrollEventAssist: !(win.indexedDB), + canDisableScroll: !!(win.indexedDB), }, isMatch(p: Platform): boolean { return p.isPlatformMatch('ios', ['iphone', 'ipad', 'ipod'], ['windows phone']);