angular - Spårning av scroll fungerar inte med Internet Explorer 11


Jag har följande kod:

this.currentScrollYSub = Observable.fromEvent(window, 'scroll')
    .throttleTime(5)
    .subscribe(e => {
    this.scrollY = window.scrollY;
    console.log(window.scrollY); // Result: undefined
    });

Vilket fungerar alldeles utmärkt på Chrome, men jag märkte att på IE 10 och IE 11 fungerar det inte.

Hur kan jag få detta att fungera på Internet Explorer 11?

REDIGERA

Jag försökte också något liknande detta:

@HostListener('window:scroll', ['$event'])
track(event) {
    console.debug("Scroll Event ", document.body.scrollTop); // Result: "Scroll Event 0"
}

@HostListener('window:scroll', ['$event'])
track(event) {
    console.debug("Scroll Event ", this.scrollY); // Result: "Scroll Event undefined"
}

Svar #1

https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY

Internet Explorer: Ingen support

Du kan använda något som:

return {
  x: window.pageXOffset || document.documentElement.scrollLeft,
  y: window.pageYOffset || document.documentElement.scrollTop
};

https://github.com/ReactTraining/react-router/issues/605